zoukankan      html  css  js  c++  java
  • Redis 入门到分布式 (三) Redis客户端的使用

    个人博客网: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();
    
    }
  • 相关阅读:
    在Ubuntu中通过update-alternatives切换软件版本
    SCons: 替代 make 和 makefile 及 javac 的极好用的c、c++、java 构建工具
    mongodb 的使用
    利用grub从ubuntu找回windows启动项
    How to Repair GRUB2 When Ubuntu Won’t Boot
    Redis vs Mongo vs mysql
    java script 的工具
    python 的弹框
    how to use greendao in android studio
    python yield的终极解释
  • 原文地址:https://www.cnblogs.com/wushaopei/p/11979105.html
Copyright © 2011-2022 走看看