jedis-JAVA操作Redis

2023-05-04 20:12:25 浏览数 (1)

Java连接Redis客户端

jedis对string 、set、sortset、list、hash的所有常规操作。 我们使用maven工程测试开发,首先引入jedis.jar:

代码语言:javascript复制
 <dependency>
    <groupId>redis.clients</groupId>
    <artifactId>jedis</artifactId>
    <version>2.8.0</version>
    <type>jar</type>
    <scope>compile</scope>
</dependency>

若对Redis命令还没有一点概念,请阅读笔者前面的文章。这里直接上代码,简单粗暴:

代码语言:javascript复制
package org.byron4j.redis_case;

import java.text.SimpleDateFormat;
import java.util.Date;

import redis.clients.jedis.Jedis;

/**
 * Hello world!
 *
 */
public class App 
{
    public static SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    public static void main( String[] args ) throws Throwable
    {
        Jedis jedis = new Jedis("localhost");

        /**
         * 
         */
        System.out.println(sdf.format(new Date())   " - "   "清空当前数据库实例全部键:"   jedis.flushDB());

        /**
         * 对字符串类型操作
         */
        System.out.println(sdf.format(new Date())   " - "  "字符串类型set的返回:"   jedis.set("foo", "bar"));
        String value = jedis.get("foo");
        System.out.println( sdf.format(new Date())   " - "  "使用get获取字符串键值:"   value);

        /**
         * 对列表类型操作
         *      -- 将val1放到对头,再将val2放到对头,这时候val1到了队尾,rpop获取队尾元素得到val1.
         */
        System.out.println(sdf.format(new Date())   " - "  "lpush往列表头插入一个元素:"   jedis.lpush("code_list1", "val1"));
        System.out.println(sdf.format(new Date())   " - "  "lpush往列表头插入一个元素:"   jedis.lpush("code_list1", "val2"));
        System.out.println(sdf.format(new Date())   " - "  "lpush往列表尾取出一个元素:"   jedis.rpop("code_list1"));


        /**
         * 设置超时
         */
        System.out.println(sdf.format(new Date())   " - "  "lpush往列表头插入一个元素:"   jedis.lpush("ttl_list1", "val1"));
        System.out.println(sdf.format(new Date())   " - "  "设置超时时间10秒:"   jedis.expire("ttl_list1", 10));
        System.out.println(sdf.format(new Date())   " - "  "停顿3秒后...");
        Thread.sleep(3000);
        System.out.println(sdf.format(new Date())   " - "  "查看剩余存活时间:"   jedis.ttl("ttl_list1"));
        System.out.println(sdf.format(new Date())   " - "  "查看数据库中的键:"   jedis.keys("*"));
        System.out.println(sdf.format(new Date())   " - "  "再停顿7秒...");
        Thread.sleep(7000);
        System.out.println(sdf.format(new Date())   " - "  "查看数据库中的键:"   jedis.keys("*"));


    }
}

运行结果,一目了然:

代码语言:javascript复制
2016-10-08 17:46:00 - 清空当前数据库实例全部键:OK
2016-10-08 17:46:00 - 字符串类型set的返回:OK
2016-10-08 17:46:00 - 使用get获取字符串键值:bar
2016-10-08 17:46:00 - lpush往列表头插入一个元素:1
2016-10-08 17:46:00 - lpush往列表头插入一个元素:2
2016-10-08 17:46:00 - lpush往列表尾取出一个元素:val1
2016-10-08 17:46:00 - lpush往列表头插入一个元素:1
2016-10-08 17:46:00 - 设置超时时间10秒:1
2016-10-08 17:46:00 - 停顿3秒后...
2016-10-08 17:46:03 - 查看剩余存活时间:7
2016-10-08 17:46:03 - 查看数据库中的键:[code_list1, ttl_list1, foo]
2016-10-08 17:46:03 - 再停顿7秒...
2016-10-08 17:46:10 - 查看数据库中的键:[code_list1, foo]

记得自己动手实验,现在你已经入门了,对于java中的redis编程。

0 人点赞