首页 > 程序开发 > 软件开发 > 其他 >

Java中使用Jedis操作Redis

2017-04-21

Java中使用Jedis操作Redis:开始在 Java 中使用 Redis 前, 我们需要确保已经安装了 redis 服务及 Java redis 驱动,且机器上能正常使用 Java。

Java中使用Jedis操作Redis:开始在 Java 中使用 Redis 前, 我们需要确保已经安装了 redis 服务及 Java redis 驱动,且机器上能正常使用 Java。

使用的jar包:
这里写图片描述

代码:

import org.junit.Test;
import redis.clients.jedis.Jedis;

import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;

public class RedisJava {
    @Test
    // Redis 连接服务 实例
    public void connectionServerExample(){
        // 连接本地 Redis 服务
        Jedis jedis = new Jedis("localhost");
        System.out.println("连接本地的 Redis 服务成功");
        // 查看服务是否运行
        System.out.println("服务正在运行:"+ jedis.ping());
    }

    @Test
    // Redis Java String 实例
    public void redisStringExample(){
        // 连接本地 Redis 服务
        Jedis jedis = new Jedis("localhost");
        System.out.println("Connection to server sucessfully");
        /* 设置值与取值 */
        jedis.set("StringKey","StringValue");
        System.out.println(jedis.get("StringKey"));
        String name = jedis.get("theName");
        System.out.println("Stored theName in redis: "+name);
        /* 拼接 */
        jedis.append("name", " is my lover");
        System.out.println(jedis.get("name"));
        /* 删除某个键   */
        jedis.del("name");
        //设置多个键值对
        jedis.mset("name","xiaoming","age","19","qq","123456");
        jedis.incr("age"); //进行加1操作
        System.out.println(jedis.get("name") + "******" + jedis.get("age") + "******" + jedis.get("qq"));
    }

    @Test
    // Redis Java List 实例
    public void redisListExample(){
        // 连接本地 Redis 服务
        Jedis jedis = new Jedis("localhost");
        System.out.println("Connection to server sucessfully");

        //存储数据到列表中,rpush:从前面插入,lpush从后面插入
        jedis.rpush("myList","mysql");
        jedis.rpush("myList","mongodb");
        jedis.lpush("myList","oracle");
        jedis.lpush("myList","reids");
        // 获取长度
        long listLength  = jedis.llen("myList");
        // 获取存储的数据并输出  第一个是key,第二个是起始位置,第三个是结束位置,jedis.llen获取长度 -1表示取得所有
        List list = jedis.lrange("myList",0,-1);
        for(int i=0;i map = new HashMap();
        map.put("name","xiaoming");
        map.put("age","18");
        map.put("weChat","123456");
        jedis.hmset("user",map);
        //第一个参数是存入redis中map对象的key,后面跟的是放入map中的对象的key,后面的key可以跟多个,是可变参数
        List rsMap = jedis.hmget("user","name","age","weChat");
        System.out.println(rsMap);

        System.out.println(jedis.hmget("user","name")); // 返回user的name
        System.out.println(jedis.hlen("user"));   // 返回key为user的键中存放的值的个数
        System.out.println(jedis.exists("user")); // 是否存在key为user的记录 有返回true 没有返回false
        System.out.println(jedis.hkeys("user"));  // 返回map对象中的所有key
        System.out.println(jedis.hvals("user"));  // 返回map对象中的所有value

        //删除map中的某个键值
        jedis.hdel("user","age");

        // 遍历map
        Iterator iter =  jedis.hkeys("user").iterator();
        while(iter.hasNext()){
            String key = iter.next();
            System.out.println(jedis.hmget("user",key));
        }
    }

    @Test
    // Redis Java Set 实例
    public void redisSetExample(){
        // 连接本地 Redis 服务
        Jedis jedis = new Jedis("localhost");
        System.out.println("Connection to server sucessfully");
        // 添加数据
        jedis.sadd("people","ming");
        jedis.sadd("people","hong");
        jedis.sadd("people","xxxxx");
        jedis.sadd("people","wang");
        jedis.sadd("people","error");

        //移除
        jedis.srem("people","error");

        System.out.println(jedis.smembers("people")); // 获取所有加入value
        System.out.println(jedis.sismember("people","error"));//判断 error 是否是people集合的元素
        System.out.println(jedis.srandmember("people")); // 随机取得其中一个元素
        System.out.println(jedis.scard("people")); // 返回集合的元素个数
    }

    @Test
    // Redis Java Sort
    public void redisSortExample(){
        // 连接本地 Redis 服务
        Jedis jedis = new Jedis("localhost");
        System.out.println("Connection to server sucessfully");

        //jedis 排序
        //注意,此处的rpush和lpush是List的操作。是一个双向链表(但从表现来看的)
        jedis.del("a");//先清除数据,再加入数据进行测试
        jedis.rpush("a", "1");
        jedis.lpush("a","6");
        jedis.lpush("a","3");
        jedis.lpush("a","9");
        System.out.println(jedis.lrange("a",0,-1));// [9, 3, 6, 1]
        System.out.println(jedis.sort("a")); //[1, 3, 6, 9]  //输入排序后结果
        System.out.println(jedis.lrange("a",0,-1));
    }

    @Test
    public void redisChinese(){
        // 连接本地 Redis 服务
        Jedis jedis = new Jedis("localhost");
        System.out.println("Connection to server sucessfully");
        jedis.set("chinese","我是中文");
        System.out.println(jedis.get("chinese"));
    }

    @Test
    public void redisFlush(){
        // 连接本地 Redis 服务
        Jedis jedis = new Jedis("localhost");
        System.out.println("Connection to server sucessfully");
        jedis.flushAll(); //清空整个 Redis 服务器的数据(删除所有数据库的所有 key )
        jedis.flushDB(); // 清空当前数据库中的所有 key
    }
}
相关文章
最新文章
热点推荐