个人博客网:https://wushaopei.github.io/    (你想要这里多有)

一、Java客服端:jedis

  • 获取Jedis
  • Jedis基本使用
  • Jedis连接池使用

1、Jedis是什么?

Jedis是官方提供的一个客户端,用于对redis进行操作。遵循redis提供的协议,各种语言都有对应的客户端。

2、Jedis的maven依赖:

	        <dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.9.0</version>
<type>jar</type>
<scope>compile</scope>
</dependency>

3、Jedis直连:

    #1.生成一个Jedis对象,这个对象负责和指定Redis节点进行通信

    Jedis jedis = new Jedis("127.0.0.1",6379);

    #2.jedis执行set操作

    jedis.set("hello","world");

    #3.jedis执行get操作,value="world"

    String value = jedis.get("hello");

4、Jedis的构造函数分析:

Jedis (String host, int port ,int connectionTimeout, int soTimeout)

  • host : Redis 节点的所在机器的IP
  • port : Redis 节点的端口
  • connectionTimeout : 客户端连接超时
  • soTimeout : 客户端读写超时

5、简单使用:

    //1.string
//输出结果: OK
jedis.set("hello","world");
//输出结果: world
jedis.get("hello"):
//输出结果: 1
jedis.incr("counter");

    //2.hash
jedis.hset("myhash","f1","v1");
jedis.hset("myhash","f2","v2");
//输出结果:{f1=v1,f2=v2}
jedis.hgetAll("myhash");

    // 3.list
jedis.rpush("mylist","1");
jedis.rpush("mylist","2");
jedis.rpush("mylist","3");
//输出结果: [1,2,3]
jedis.lrange("mylist",0,-1);

    // 4. set
jedis.sadd("myset","a");
jedis.sadd("myset","a");
jedis.sadd("myset","a");
//输出结果:[b,a]
jedis.smembers("myset");

    // 5. zset
jedis.zadd("myzset",99,"tom");
jedis.zadd("myzset",66,"peter");
jedis.zadd("myzset",33,"james");
//输出结果:[[["james"],33.0],[["peter"],66.0],[["tom"],99.0]]
jedis.zrangeWithScores("myzset",0,-1);

6、Jedis连接池使用:

  • Jedis直连
  • Jedis连接池

方案对比

  • JedisPool使用

1)Jedis直连:

连接池:

方案对比:

Jedis连接池的使用:

初始化Jedis连接池,通常来讲JedisPool是单例的。

GenericObjectPoolConfig poolConfig = new GenericObjectPoolConfig ();

JedisPool jedisPool = new JedisPool(poolConfig,"127.0.0.1",6379);

Jedis jedis = null;

try {

    //1.从连接池获取jedis对象
jedis = jedisPool.getResource(); //2.执行操作
jedis.set("hello","world"); }catch(Exception e ){ e.printStackTrace(); }finallly{ if(jedis != null) //如果使用JedisPool,close操作不是关闭链接,代表归还连接池
jedis.close(); }

最新文章

  1. android sdk manager 代理设置(送给牛逼的)
  2. nodejs API
  3. Security &#187; Authentication &#187; Identity介绍
  4. UTC时间与本地时间的相互转换
  5. QQ截图工具提取
  6. CC2530芯片介绍
  7. Linux启动网卡时出现RTNETLINK answers: File exists错误解决方法
  8. LeetCode_Restore IP Addresses
  9. Win7窗口操作
  10. Given two binary string, return their sum (also a binary string)
  11. [2012-04-25]shell大括号参数扩展(Parameter Expansion)
  12. mysql并行复制降低主从同步延时的思路与启示
  13. LVDS/DVI/HDMI Interface
  14. [ZJOI2010]基站选址
  15. 前后端数据加密传输 RSA非对称加密
  16. Java中线程池的实现原理-求职必备
  17. 《剑指offer》— JavaScript(29)最小的K个数
  18. 『PyTorch x TensorFlow』第八弹_基本nn.Module层函数
  19. 掷骰子游戏窗体实现--Java初级小项目
  20. SpringBoot项目中获取applicationContext对象

热门文章

  1. Python学习之字符串中的下标和切片以及逆序
  2. 【FPGA篇章二】FPGA开发流程:详述每一环节的物理含义和实现目标
  3. Java 将鼠标改为图片的两种方法
  4. [hdu5392 Infoplane in Tina Town]置换的最小循环长度,最小公倍数取模,输入挂
  5. 瞬间教你学会使用java中list的retainAll方法
  6. SpringData:关联查询
  7. struts2 自定义tag标签
  8. 一分钟掌握MySQL的InnoDB引擎B+树索引
  9. 关于QQ可以发消息但是网页刷不出来问题
  10. 【数据结构】平衡树splay和fhq—treap