redis 学习笔记(7)-cluster 客户端(jedis)代码示例
2016-10-08 18:10
645 查看
上节学习了cluster的搭建及redis-cli终端下如何操作,但是更常用的场景是在程序代码里对cluster读写,这需要redis-client对cluster模式的支持,目前spring-data-redis(1.6.4)还不支持cluster,最新的1.7.0
RC1已经有cluster的相关实现了,不过目前尚未正式发布,所以现阶段要使用redis-cluster的话,client最好还是选用原生的jedis,示例代码如下:
配置文件:
注:上面的这些节点,不需要配全,最少可以只保留一个cluster中的节点信息,运行时,jedis会自动发现其它节点,但是为了防止某个节点挂掉,所以建议配置时,还是多配置几个,保证这一堆节点中,至少有一个能连接上。
示例代码:
注:建议尽量避免用jedis对节点做keys的模糊搜索,该操作在缓存项较多时,可能会导致redis性能急剧下降,改进办法是自己弄一个集合,记录所有缓存的key,具体可参考上面的办法。此外,jedis提供的命令非常之多,但是没有详细的说明文档(估计,作者认为代码就是最好的文档),大体可以从方法前缀猜测出来,比如sXXX表示是对Set的操作,hXXX表示是对hash的操作,lXXX或rXXX是对list的操作,zXXX是对zset的操作,什么前缀都没有的,比如set/get是对字符串的操作。
有网友把jedis的操作整理了一份文档,请参见:http://blog.csdn.net/zhu_xun/article/details/16806285
最后,附加上文中示例的源码:https://github.com/yjmyzz/redis-cluster-demo
RC1已经有cluster的相关实现了,不过目前尚未正式发布,所以现阶段要使用redis-cluster的话,client最好还是选用原生的jedis,示例代码如下:
配置文件:
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <bean id="jedisCluster" class="redis.clients.jedis.JedisCluster"> <constructor-arg index="0"> <set> <bean class="redis.clients.jedis.HostAndPort"> <constructor-arg name="host" value="127.0.0.1"/> <constructor-arg name="port" value="7000"/> </bean> <bean class="redis.clients.jedis.HostAndPort"> <constructor-arg name="host" value="127.0.0.1"/> <constructor-arg name="port" value="7001"/> </bean> <bean class="redis.clients.jedis.HostAndPort"> <constructor-arg name="host" value="127.0.0.1"/> <constructor-arg name="port" value="7002"/> </bean> <!--<bean class="redis.clients.jedis.HostAndPort">--> <!--<constructor-arg name="host" value="127.0.0.1"/>--> <!--<constructor-arg name="port" value="7003"/>--> <!--</bean>--> <!--<bean class="redis.clients.jedis.HostAndPort">--> <!--<constructor-arg name="host" value="127.0.0.1"/>--> <!--<constructor-arg name="port" value="7004"/>--> <!--</bean>--> <!--<bean class="redis.clients.jedis.HostAndPort">--> <!--<constructor-arg name="host" value="127.0.0.1"/>--> <!--<constructor-arg name="port" value="7005"/>--> <!--</bean>--> </set> </constructor-arg> </bean> </beans>
注:上面的这些节点,不需要配全,最少可以只保留一个cluster中的节点信息,运行时,jedis会自动发现其它节点,但是为了防止某个节点挂掉,所以建议配置时,还是多配置几个,保证这一堆节点中,至少有一个能连接上。
示例代码:
注:建议尽量避免用jedis对节点做keys的模糊搜索,该操作在缓存项较多时,可能会导致redis性能急剧下降,改进办法是自己弄一个集合,记录所有缓存的key,具体可参考上面的办法。此外,jedis提供的命令非常之多,但是没有详细的说明文档(估计,作者认为代码就是最好的文档),大体可以从方法前缀猜测出来,比如sXXX表示是对Set的操作,hXXX表示是对hash的操作,lXXX或rXXX是对list的操作,zXXX是对zset的操作,什么前缀都没有的,比如set/get是对字符串的操作。
有网友把jedis的操作整理了一份文档,请参见:http://blog.csdn.net/zhu_xun/article/details/16806285
最后,附加上文中示例的源码:https://github.com/yjmyzz/redis-cluster-demo
相关文章推荐
- redis 学习笔记(7)-cluster 客户端(jedis)代码示例
- Java Redis Jedis--学习笔记代码片断--序列化
- redis 学习笔记(2)-client端示例代码
- redis 学习笔记-client端示例代码
- redis 学习笔记(2)-client端示例代码
- redis 学习笔记(2)-client端示例代码
- redis 学习笔记(2)-client端示例代码
- redis 学习笔记(2)-client端示例代码
- redis学习笔记(二)JedisCluster + redis 3.2.5集群
- Redis学习笔记-Jedis操作Redis
- AJAX 学习笔记[二] 我编写的AJAX 测试代码示例
- QTP学习笔记之2.2 --Object Repository相关示例代码
- redis的Java客户端jedis使用示例
- jedis访问redis学习笔记
- 黑马程序员————IOS学习笔记 第11篇 经典示例计算代码行数
- redis 学习笔记(5)-Spring与Jedis的集成
- jedis访问redis学习笔记
- redis 学习笔记(5)-Spring与Jedis的集成
- HADOOP的学习笔记 (第五期) hadoop示例代码分析
- 微软企业库4.1学习笔记(二十三)加解密模块3 示例代码