Redis是一种快速可靠的分布式内存数据库,具有高可用性、可横向扩展 、高可靠性与稳定性等特性,因此被广泛应用于缓存和存储场景,如电商、社交、推荐引擎、金融等重要系统。
当Redis加入到业务中使用的时候,数据的存、取的操作会面临一些难题,如吞吐量、延迟等。以大量用户在线的情况下,Redis读写失衡,会主动影响到所在应用的性能,进而影响整个系统的性能,所以优化Redis的读写数据成为为增强系统性能的必要手段。
提升Redis读写性能有很多技巧,其中一个有效方案就是使用Redis读写分离技术。实现Redis读写分离,主要是采用多实例实现不同Redis 服务器 完成不同读取写入操作,将读取和写入操作分别在不同的Redis实例上完成,如此可以使得读取和写入操作独立开来,减少冲突,提升系统性能。
Redis读写分离的实施流程大致可以分为下面三个步骤:

第一步,安装两个Redis实例,一个主实例用于写入数据,一个从实例用于读取数据;
第二步,配置主从复制,使从实例的数据与主实例保持同步;
第三步,更改代码,更新应用程序,使之发起写入数据的请求到主实例,而发起读取数据的请求到从实例。
代码示例如下,其中readData()函数表示实现读取操作,writeData()表示实现写入操作:
public static void readData() {String key = "key_name";String value;Jedis slave_jedis = new Jedis("slave_hostname", slave_port, timeout);value = slave_jedis.get(key);// ……}public static void writeData() {String key = "key_name";String value;Jedis master_jedis = new Jedis("master_hostname", master_port, timeout);master_jedis.Set(key, value);// ……}
从上面可以看出,Redis读写分离主要是使用体系架构上的优势,将不同的读写操作分配到不同的Redis实例中,这样有效地缓解了Redis读写数据瓶颈,有效增强了系统性能。可以通过不断调优优化Redis,来进一步提升系统性能。
香港服务器首选树叶云,2H2G首月10元开通。树叶云(www.IDC.Net)提供简单好用,价格厚道的香港/美国云服务器和独立服务器。IDC+ISP+ICP资质。ARIN和APNIC会员。成熟技术团队15年行业经验。
查看redis数据库实例对应的配置文件。
查看redis数据库实例对应的配置文件执行 ps -ef | grep redis-server ,确定redis的安装目录,一般配置文件都是 安装目录/etc/ ;
如何通过java对redis进行性能测速
redis是一个key-value存储系统。 和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。 这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。 在此基础上,redis支持各种不同方式的排序。 与memcached一样,为了保证效率,数据都是缓存在内存中。 区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。 Redis 是一个高性能的key-value数据库。 redis的出现,很大程度补偿了memcached这类key/value存储的不足,在部 分场合可以对关系数据库起到很好的补充作用。 它提供了Java,C/C++,C#,PHP,JavaScript,Perl,Object-C,python,Ruby,Erlang等客户端,使用很方便。 [1] Redis支持主从同步。 数据可以从主服务器向任意数量的从服务器上同步,从服务器可以是关联其他从服务器的主服务器。 这使得Redis可执行单层树复制。 存盘可以有意无意的对数据进行写操作。 由于完全实现了发布/订阅机制,使得从数据库在任何地方同步树时,可订阅一个频道并接收主服务器完整的消息发布记录。 同步对读取操作的可扩展性和数据冗余很有帮助。 redis的官网地址,非常好记,是。 (特意查了一下,域名后缀io属于国家域名,是british Indian Ocean territory,即英属印度洋领地)目前,Vmware在资助着redis项目的开发和维护。
REDIS学习查看redis状态,以及rdb和aof两种持久化方案的区别
命令:redis-cli info //查看redis服务器状态的rdb : redis database 默认开启的,是将数据从内存备份到硬盘中。 aof:APPend only f 需要自己根据需要开启,是将执行命令存储在一个文件中。 建议看一下apeit-程序猿IT的文章《redis数据持久化》,讲的简单明了。
发表评论