多种数据类型的 Jedis 存取方式


下一篇博文: Jedis 连接池

要使用 java 操作 redis,需要保证服务端已经安装了 redis 服务,并且本地项目已经有 java redis 驱动(jedis)

Maven 引入 Jedis 依赖

这个需要在中央仓库中自己去 copy

<dependency>
    <groupId>redis.clients</groupId>
    <artifactId>jedis</artifactId>
    <version>2.9.0</version>
</dependency>

Jedis 连接以及数据存取

public class JedisExercise {
    public static void main(String[] args){
        /*=========== 连接 redis 服务 ===========*/
        //ip 以及 port
        Jedis jedis = new Jedis("127.0.0.1", 6379);
        
        //验证密码 "password"
        jedis.auth("password");
        System.out.println("成功登入 Redis 数据库");
        
        /*=========== redis String 操作 ===========*/
        //添加和读取数据,若存在则覆盖
        jedis.set("string", "字符串");
        System.out.println("新增 String 类型数据:" + jedis.get("string"));
        
        //拼接数据
        jedis.append("string", "进行 redis 存储");
        System.out.println("拼接 String 类型数据后:" + jedis.get("string"));
        
        //删除数据
        jedis.del("string");
        System.out.println("删除 String 类型数据后:" + jedis.get("string"));
        
        //批量新增数据
        jedis.mset("string1", "字符串1", "string2", "字符串2", "string3", "字符串3");
        System.out.println("批量新增 String 类型数据" + jedis.get("string1") + jedis.get("string2") + jedis.get("string3"));
        
        /*=========== redis Hash 操作 ===========*/
        //添加数据
        Map<String, String> map = new Map<String, String>();
        map.put("key1", "value1");
        map.put("key2", "value2");
        map.put("key3", "value3");
        jedis.hmset("hash", map);
        List<String> list = jedis.hmget("hash", "key1", "key2", "key3");
        System.out.println("新增进 Hash 数据类型中的数据:" + list);
        
        //迭代器读取数据
        Iterator<String> it = jedis.hkeys("hash").iterator();
        while(it.hasNext()){
            String key = it.next();
            System.out.println(key + ":" + jedis.hget("hash", key));
        }
        
        //拼接数据
        jedis.hset("hash", "key4", "value4");
        System.out.println("拼接进 Hash 类型数据后:" + jedis.hmget("hash", "key1", "key2", "key3", "key4"));
        
        //返回 Hash 存储相关的数据值
        System.out.println("该 Hash 存储存放值个数:" + jedis.hlen("hash"));
        System.out.println("是否存在 key 为 user 的记录:" + jedis.exists("hash"));
        System.out.println("该 Hash 存储中所有 key" + jedis.hkeys("hash"));
        System.out.println("该 Hash 存储中所有 value" + jedis.hvals("hash"));
        
        //删除数据
        jedis.hdel("hash", "key1");
        System.out.println("删除 Hash 数据类型中的数据:" + jedis.hmget("hash", "key1"));
        jedis.del("hash");
        System.out.println("删除整个 Hash 存储");
       
        /*=========== redis List 操作 ===========*/
        //添加和读取数据
        jedis.lpush("list", "表数据");
        jedis.lpush("list", "表数据");
        jedis.lpush("list", "表数据3");
        jedis.lpush("list", "表数据4");
        List<String> list = jedis.lrange("list", 0, 3);
        System.out.prinln("新增进 List 类型数据中的数据:" + list);
        
        //删除数据
        String popStr = jedis.lpop("list");
        System.out.prinln("移除的最左边数据为:" + popStr);
        List<String> strAfterPop = jedis.lrange("list", 0, -1);
        System.out.println("移除后的数据为:" + strAfterPop);
        
        /*=========== redis Set 操作 ===========*/
        //添加和读取数据
        jedis.sadd("set", "集合数据");
        jedis.sadd("set", "集合数据2");
        jedis.sadd("set", "集合数据3");
        jedis.sadd("set", "集合数据");
        Set<String> set = jedis.smembers("set");
        System.out.println("新增 Set 类型数据:" + set);
        
        //返回 Set 存储相关的数据值
        System.out.prinltn("判断某一元素是否是 Set 中的元素:" + jedis.sismember("set", "集合元素1"));
        System.out.println("返回集合中一随机元素:" + jedis.srandmember("set"));
        System.out.println("Set 中元素个数:" + jedis.scard("set"));
        jedis.sadd("set2", "集合数据");
        jedis.sadd("set2", "集合数据4");
        System.out.println("获取两个数据库的交集:" + jedis.sinter("set", "set2"));
        System.out.println("获取两个数据库的并集:" + jedis.sunion("set", "set2"));
        
        //删除数据
        jedis.srem("set", "集合数据2");
        
        /*=========== redis ZSet 操作 ===========*/
        //添加和读取数据
        jedis.zadd("zset", 1, "Z集数据1");
        jedis.zadd("zset", 5, "Z集数据2");
        jedis.zadd("zset", 22, "Z集数据3");
        jedis.zadd("zset", 22, "Z集数据4");
        Set<String> zset = jedis.zrange("zset", 0, -1);
        System.out.println("ZSet 中所有数据:" + zset);
        
        //删除数据
        jedis.zremrangeByScore("zset", 1, 5);
        System.out.println("通过 score 移除 1-5 的数据后:", zset);
    }
}

下一篇博文:Jedis 连接池

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

abcnull

您的打赏是我创作的动力之一

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值