当前位置:网站首页 > 技术博客 > 正文

jedis常用方法api



简介

https://github.com/xetorthio/jedis

使用

想要使用Jedis必须加载jar包或者添加maven依赖,jar包可以自己上网下载,我的是Maven项目,所以在pom.xml中增加如下语句:

简单的Jedis实例

在加载Jedis JAR包之后,我们可以直接使用新建一个Jedis实例的方法,来建立一个到Redis的连接,并进行操作,以下是一个简单的jedis实例:

输出结果:

字符串操作

输出结果:

输出结果:

哈希操作

输出结果:

输出结果:

列表操作

输出结果:

集合(Set)操作

输出结果:

有序集合

输出结果:

排序sort

输出结果:

JedisPool应用

虽然我们可以简单地创建Jedis使用,但每次操作的时候,都建立连接,很耗费性能。解决方法就是从一个连接池中取出连接对象,用完还回去。使用连接池的方案还能解决很多同步性问题。在Jedis中,管理Redis连接的类是JedisPool。要想使用JedisPool需要添加jar包或依赖库,在pom.xml中添加

  • 普通连接池连接

实现方式有两种,一种是通过配置文件(properties文件),我的文件名是jedisPool.properties:

java类如下:

而直接通过代码实现的话,其实也是一个原理:

  • Sentinel连接池连接

Sentinel连接池用于应对Redis的Sentinel的主从切换机制,能够正确在服务器宕机导致服务器切换时得到正确的服务器连接,当服务器采用该部署策略的时候推荐使用该连接池进行操作

  • ShardedJedisPool连接池分片连接

Memcached完全基于分布式集群,而Redis是Master-Slave,Redis在容灾处理方面可以通过服务器端配置Master-Slave模式来实现。如果想把Reids做成集群模式,无外乎多做几套Master-Slave,每套Master-Slave完成各自的容灾处理,通过Client工具来实现一致性哈希分布存储,即key分片存储。

shared一致性哈希采用以下方案:

  1. Redis服务器节点划分:将每台服务器节点采用hash算法划分为160个虚拟节点(可以配置划分权重)
  2. 将划分虚拟节点采用TreeMap存储
  3. 对每个Redis服务器的物理连接采用LinkedHashMap存储
  4. 对Key or KeyTag 采用同样的hash算法,然后从TreeMap获取大于等于键hash值得节点,取最邻近节点存储;当key的hash值大于虚拟节点hash值得最大值时,存入第一个虚拟节点

sharded采用的hash算法:MD5 和 MurmurHash两种;默认采用64位的MurmurHash算法;有兴趣的可以研究下~

保留前面的JedisPoolConfig,新增两个Redis的IP(redis1.ip,redis2.ip),完成两个JedisShardInfo实例,并将其丢进List中:

参考:

http://www.boyunjian.com/javadoc/org.apache.servicemix.bundles/org.apache.servicemix.bundles.jedis/2.1.0_1/_/redis/clients/jedis/JedisShardInfo.html

https://yq.aliyun.com/articles/

http://blog.csdn.net/dslztx/article/details/

http://flyingsnail.blog.51cto.com//

http://www.tuicool.com/articles/vaqABb

http://www.importnew.com/19321.html

http://www.cnblogs.com/liuling/p/2014-4-19-04.html

http://www.cnblogs.com/libaoting/p/4418007.html

http://blog.csdn.net/fachang/article/details/

http://blog.csdn.net/aubdiy/article/details/

http://blog.csdn.net/moxiaomomo/article/details/

版权声明


相关文章:

  • linux更改进程名字2025-06-03 22:30:02
  • 数据库基础介绍2025-06-03 22:30:02
  • 全局代理有什么用2025-06-03 22:30:02
  • exe怎么注册2025-06-03 22:30:02
  • python多线程技术2025-06-03 22:30:02
  • java中声明是什么意思2025-06-03 22:30:02
  • 壁仞科技怎么样知乎2025-06-03 22:30:02
  • 文章详情码上来料2025-06-03 22:30:02
  • microsoft edge快捷键编辑2025-06-03 22:30:02
  • 若快网络科技有限公司的游戏2025-06-03 22:30:02