• JAVA入门[21]-Jedis操作redis示例


    本节目标

    通过JedisPool获取Jedis示例,并完成对redis 简单的Key-value读写操作。

    完整代码结构如下:

    Image

    redis服务端

    在本地运行redis-server.exe,然后在resources新建jedis.properties:

    redis.host=localhost
    redis.port=6379

    配置jedis

    我们将jedis相关配置放在单独的Spring Config中,在resources/spring目录新建applicationContext-jedis.xml。

         <!-- 加载配置属性文件 -->
        <context:property-placeholder ignore-unresolvable="true" location="classpath*:jedis.properties"/>
    
        <bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig">
            <property name="maxIdle" value="300"/> <!-- 最大能够保持idel状态的对象数  -->
            <property name="maxTotal" value="60000"/> <!-- 最大分配的对象数 -->
            <property name="testOnBorrow" value="true"/> <!-- 当调用borrow Object方法时,是否进行有效性检查 -->
        </bean>
    
        <bean id="jedisPool" class="redis.clients.jedis.JedisPool">
            <constructor-arg index="0" ref="jedisPoolConfig"/>
            <constructor-arg index="1" value="${redis.host}" type="java.lang.String"/>
            <constructor-arg index="2" value="${redis.port}" type="int"/>
        </bean>

    测试

    添加单元测试,通过@Resource注解获取JedisPool实例对象。

    @Resource
    private JedisPool jedisPool;

    然后调用jedisPool对象的getResource()方法就可以获取到Jedis实例了。

    Jedis jedis = jedisPool.getResource();

    先测试个最基本的get,set操作

        @Test
        public void TestRedis() {
            Jedis jedis = jedisPool.getResource();
    
            String key = "a";
            jedis.set(key, "111");
    
            String data = jedis.get(key);
    
            System.out.println(data);
    
        }

    运行结果:111

    再测试个列表操作:

    @Test
        public  void testList(){
            Jedis jedis=jedisPool.getResource();
    
            String key="articles";
    
            jedis.lpush(key,"文章1");
            jedis.lpush(key,"文章2");
            jedis.lpush(key,"文章3");
    
            List<String> articles=jedis.lrange(key,0,3);
            for(String article:articles){
                System.out.println(article);
            }
        }

    运行结果:

    文章3

    文章2

    文章1

    再来个集合操作:

    @Test
        public void testSet(){
            Jedis jedis=jedisPool.getResource();
    
            String key="tags";
            jedis.sadd(key,"宝马");
            jedis.sadd(key,"豪车");
            jedis.sadd(key,"SUV");
            jedis.sadd(key,"SUV");
    
            Set<String> tags=jedis.smembers(key);
            for(String tag:tags){
                System.out.println(tag);
            }
        }

    运行结果:

    宝马

    豪车

    SUV

    先到这里吧,SO EASY!!

    源码地址:https://github.com/cathychen00/learnjava/tree/master/DemoRedis

  • 相关阅读:
    SXOI2016 部分解题报告
    两道FFT的应用题
    [CQOI2012]交换棋子【网络流】【费用流】
    JAVA-SDK-Excel4j使用遇见的问题
    解决Zookeeper出现Error: Could not find or load main class org.apache.zookeeper.server.quorum.QuorumPeerMain问题
    maven项目打包时jar中不包含依赖
    CentOS_7中的zookeeper安装
    SpringBoot集成Redis出现WRONGTYPE Operation against a key holding the wrong kind of value错误
    主机访问虚拟机中Redis
    使用SpringS声明式的开启事务
  • 原文地址:https://www.cnblogs.com/janes/p/7089536.html
Copyright © 2020-2023  润新知