zoukankan      html  css  js  c++  java
  • Jedis工具类代码

      安装Redis可以参考 https://www.cnblogs.com/dddyyy/p/9763098.html

      Redis的学习可以参考https://www.cnblogs.com/dddyyy/p/9803828.html 谢谢啦!

    1.基本使用

      因为Jedis工具类使用的是连接池,那么我们就来看一下连接池最简单的Demo,这样可以有助于了解后面的工具类代码。

      先可以使用Maven工程来导包呀

      

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

      编写个测试类

    package com.JedisTest;
    
    import org.junit.Test;
    
    import redis.clients.jedis.Jedis;
    import redis.clients.jedis.JedisPool;
    
    public class JedisTest {
    
        @Test
        public void Test1() {
            //创建一个连接池 参数为你的Redis安装的ip地址和端口
            JedisPool jedisPool = new JedisPool("192.168.25.128",6379);
            //从连接池拿个连接资源
            Jedis jedis = jedisPool.getResource();//获取资源
            //设置Key-Value
            jedis.set("myname", "dingyu");
            //根据Key 取 Value
            String name = jedis.get("myname");
            System.out.println(name);
            //关闭连接资源
            jedis.close();
            //关闭连接池
            jedisPool.close();
        }
    }

      测试结果

    2.工具类

      

    package JedisTool;
    
    
    public interface JedisClient {
    
        String set(String key, String value);
        String get(String key);
        Boolean exists(String key);
        Long expire(String key, int seconds);
        Long ttl(String key);
        Long incr(String key);
        Long hset(String key, String field, String value);
        String hget(String key, String field);    
        Long hdel(String key,String... field);//删除hkey    
    }
    package JedisTool;
    
    import org.springframework.beans.factory.annotation.Autowired;
    
    import redis.clients.jedis.Jedis;
    import redis.clients.jedis.JedisPool;
    
    public class JedisClientPool implements JedisClient {
        
        @Autowired
        private JedisPool jedisPool;
    
        @Override
        public String set(String key, String value) {
            Jedis jedis = jedisPool.getResource();
            String result = jedis.set(key, value);
            jedis.close();
            return result;
        }
    
        @Override
        public String get(String key) {
            Jedis jedis = jedisPool.getResource();
            String result = jedis.get(key);
            jedis.close();
            return result;
        }
    
        @Override
        public Boolean exists(String key) {
            Jedis jedis = jedisPool.getResource();
            Boolean result = jedis.exists(key);
            jedis.close();
            return result;
        }
    
        @Override
        public Long expire(String key, int seconds) {
            Jedis jedis = jedisPool.getResource();
            Long result = jedis.expire(key, seconds);
            jedis.close();
            return result;
        }
    
        @Override
        public Long ttl(String key) {
            Jedis jedis = jedisPool.getResource();
            Long result = jedis.ttl(key);
            jedis.close();
            return result;
        }
    
        @Override
        public Long incr(String key) {
            Jedis jedis = jedisPool.getResource();
            Long result = jedis.incr(key);
            jedis.close();
            return result;
        }
    
        @Override
        public Long hset(String key, String field, String value) {
            Jedis jedis = jedisPool.getResource();
            Long result = jedis.hset(key, field, value);
            jedis.close();
            return result;
        }
    
        @Override
        public String hget(String key, String field) {
            Jedis jedis = jedisPool.getResource();
            String result = jedis.hget(key, field);
            jedis.close();
            return result;
        }
    
        @Override
        public Long hdel(String key, String... field) {
            Jedis jedis = jedisPool.getResource();
            Long hdel = jedis.hdel(key, field);
            jedis.close();
            return hdel;
        }    
    
    }
    package JedisTool;
    
    import org.springframework.beans.factory.annotation.Autowired;
    
    import redis.clients.jedis.JedisCluster;
    /**
     * 主要用于集群的时候连接Redis
     * 
     *
     */
    public class JedisClientCluster implements JedisClient {
        
        @Autowired
        private JedisCluster jedisCluster;
    
        @Override
        public String set(String key, String value) {
            return jedisCluster.set(key, value);
        }
    
        @Override
        public String get(String key) {
            return jedisCluster.get(key);
        }
    
        @Override
        public Boolean exists(String key) {
            return jedisCluster.exists(key);
        }
    
        @Override
        public Long expire(String key, int seconds) {
            return jedisCluster.expire(key, seconds);
        }
    
        @Override
        public Long ttl(String key) {
            return jedisCluster.ttl(key);
        }
    
        @Override
        public Long incr(String key) {
            return jedisCluster.incr(key);
        }
    
        @Override
        public Long hset(String key, String field, String value) {
            return jedisCluster.hset(key, field, value);
        }
    
        @Override
        public String hget(String key, String field) {
            return jedisCluster.hget(key, field);
        }
    
        @Override
        public Long hdel(String key, String... field) {
            // TODO Auto-generated method stub
            return jedisCluster.hdel(key, field);
        }
    
    }

       

    <!-- spring的写法 -->
    <!-- 配置单机版 -->
    <bean class="redis.clients.jedis.JedisPool">
            <constructor-arg name="host" value="192.168.25.153"</constructor-arg>
            <constructor-arg name="port" value="6379"></constructor-arg>
    </bean>
    <!-- 配置集群版 -->
    <bean class="redis.clients.jedis.JedisCluster">
            <constructor-arg name="nodes">
                <set>
                    <bean class="redis.clients.jedis.HostAndPort">
                        <constructor-arg name="host" value="192.168.25.153"></constructor-arg>
                        <constructor-arg name="port" value="7001"></constructor-arg>
                    </bean>
                    <bean class="redis.clients.jedis.HostAndPort">
                        <constructor-arg name="host" value="192.168.25.153"></constructor-arg>
                        <constructor-arg name="port" value="7002"></constructor-arg>
                    </bean>
          </set> 
    
    </constructor-arg>
    </bean>

      

  • 相关阅读:
    在ASP.NET MVC中使用Redis
    学生管理系统(SSM简易版)总结
    springmvc缓存和mybatis缓存
    解决.NET Web API生成的Help无Controller说明&服务端接收不到请求
    ASP.NET MVC]WebAPI应用支持HTTPS的经验总结
    23 Flutter官方推荐的状态管理库provider的使用
    22 Flutter仿京东商城项目 inappbrowser 加载商品详情、保持页面状态、以及实现属性筛选业务逻辑
    21 Flutter仿京东商城项目 商品详情 请求接口渲染数据 商品属性数据渲染
    16Flutter中的路由 基本路由 基本路由跳转传值(上)
    20 Flutter仿京东商城项目 商品详情 底部弹出筛选属性 以及筛选属性页面布局
  • 原文地址:https://www.cnblogs.com/dddyyy/p/9806613.html
Copyright © 2011-2022 走看看