Redis学习笔记11、Jedis基础编程的实践案例

一、介绍

1、Jedis是一个高性能的Java客户端,是Redis官方推荐的Java开发工具。

2、要在Java开发中访问Redis缓存服务器Jedis的项目地址

二、使用
1、Maven的pom文件中增加依赖 ${redis.version} = 2.9.0

<dependency>
    <groupId>redis.clents</groupId>
    <artifactId>jedis<artifactId>
    <version>${redis.version}</version>
</dependency>

2、使用时,构建Jedis对象即可。一个Jedis对象代表一条和Redis服务进行连接的Socket通道。使用完Jedis对象之后,调用Jedis.close()方法把连接关闭,否则会占用系统资源。

// 指定地址 、端口
Jedis jedis = new Jedis("localhost",6379); 
// 连接密码
jedis.auth("xxx");
// 关闭连接
jedis.close();

3、Jedis操作String字符串

Jedis的String字符串操作函数和Redis客户端操作String字符串的命令,基本上可以一比一的相互对应。

@Slf4j
public class StringDemo {
    // 字符串数据类型相关命令
    @Test
    public void operateString() {
        Jedis jedis = new Jedis("localhost",6379); 
        // 判断连接 => pong
        log.info("===>jedis.ping()=>{}",jedis.ping());
        // 设置key0的值 123
        jedis.set("key0","123");
        // 获取类型
        log.info("jedis.type(key0)=>{}",jedis.type("key0"));
        // 获取值
        log.info("jedis.get(key0)=>{}",jedis.get("key0"));
        // 判断key 是否存在
        log.info("jedis.exists(key0)=>{}",jedis.exists("key0"));
        // 返回长度
        log.info("jedis.strlen(key0)=>{}",jedis.strlen("key0"));
        // 返回截取字符串 0:范围, -1 表示全部
        log.info("jedis.getrange(key0)=>{}",jedis.getrange("key0", 0, -1));
        // 返回区间[1,4]
        log.info("jedis.getrange(key0)=>{}",jedis.getrange("key0", 1, 4));
        // 追加字符串
        log.info("jedis.append(key0)=>{}",jedis.append("key0", "appendStr"));
        log.info("jedis.get(key0)=>{}",jedis.get("key0"));
        // 重命名
        jedis.reneame("key0","key0_new")
        // 判断key 是否存在
        log.info("jedis.exists(key0)=>{}",jedis.exists("key0"));
        // 批量插入
        jedis.mset("k1","v1","k2","v2","k3","10")
        // 批量取出
        log.info("jedis.mget(k1,k2,k3)=>{}", jedis.mget("k1","k2","k3"));
        // 删除
        log.info("jedis.del(k1)=>{}", jedis.del("k1"));
        // 判断key 是否存在
        log.info("jedis.exists(k1)=>{}",jedis.exists("k1"));
        // 取出旧值并设置新值
        log.info("jedis.getSet(k2)=>{}",jedis.getSet("k2","454"));
        // 自增1
        log.info("jedis.incr(k3)=>{}",jedis.incr("k3"));
        // 自增10
        log.info("jedis.incrBy(k3)=>{}",jedis.incr("k3",15));
        // 自减1
        log.info("jedis.decr(k3)=>{}",jedis.incr("k3"));
        // 自减10
        log.info("jedis.decrBy(k3)=>{}",jedis.incr("k3",15));
        // 浮点数加
        log.info("jedis.incrByFloat(k3)=>{}",jedis.incrByFloat("k3",1.0));
        // 在key 不存在的时候设置
        log.info("jedis.setnx(k3)=>{}",jedis.setnx("k3","v3"));
        log.info("jedis.get(k3)=>{}",jedis.get("k3"));
        // 只有key 都不存在的时候才设置
        log.info("jedis.msetnx(k1,k2)=>{}",jedis.msetnx("k1","v1","k2","v2"));
        log.info("jedis.mget("k1","k2"));
        // 设置key 2 秒后失效
        jedis.setex("k4",2"2 second is no val");
        try {
            Thread.sleep(3000);
        } catch(Exception e) {
            log.error("e=>{}", e.getMessage());
        }
        // 2 s
        log.info("jedis.get(k4)=>{}",jedis.get("k4"));
        // 下标从0 开始 第三位 开始用新值覆盖旧值
        jedis.setrange("k6",3,"v6");
        // 返回
        log.info("jedis.get(v6)=>{}",jedis.get("v6"));
        // 返回匹配所有的key
        log.info("jedis.get(k*)=>{}", jedis.get("k*""));
        jedis.close();
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值