文章详情

短信预约信息系统项目管理师 报名、考试、查分时间动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Redis简单命令(部分示例代码)

2021-11-19 21:09

关注

一、redis文件夹下的可执行文件(文章尾部有示例代码)

可执行文件

作用

redis-server

启动redis

redis-cli

redis命令行工具

redis-benchmark

基准测试工具

redis-check-aof

AOP持久化文件检测工具和修复工具

redis-check-dump

RDB持久化文件检测工具和修复工具

redis-sentinel

启动redis-sentinel

 

二、可以使用两种方式连redis服务器

 

三、常用命令

1、连接只剩相关的命令

2、服务器端相关命令

3、发布订阅相关命令

4、对key操作的命令

5、对String操作的命令

6、对list操作的命令

7、对Set操作的命令

8、对Hash操作的命令

 四、示例代码(部分方法的示例,后续会补全)

public class MyRedis {
    // 连接对象 localhost 为本机 如果是远程连接换位IP 6379是端口号
    private Jedis jedis = new Jedis("localhost", 6379);

    
    @Test
    public void myTest1() {
        System.out.println(jedis.ping());
        jedis.set("hello", "第一个string");
        System.out.println(jedis.get("hello"));
        jedis.close();
    }

    

    @Test
    public void test_String() {
        jedis.flushAll();
        // 获取Jedis对象
        // 添加一条数据
        jedis.set("name", "王世磊");
        // 根据key找到对应的value的值
        System.out.println(jedis.get("name"));
        // 多次对key进行设置值,则最后一次会覆盖之前的值(没有类似update)
        // 字符串拼接
        jedis.append("name", "很帅");
        System.out.println(jedis.get("name"));
        // 删除某个键
        jedis.set("p3", "4");
        jedis.del("p3");
        // 同时设置多个键值对:获取值的方式同上
        jedis.mset("m1", "1", "m2", "2", "m3", "3", "m4", "4", "m5", "5", "m6", "6", "m7", "7", "m8", "8");
        System.out.println(jedis.mget("m1", "m2", "m3", "m4", "m5", "m6", "m7", "m8").toString());
        // 假如值里面有数字(字符串形式),可以进行+1的操作(incr)
        jedis.set("n1", "1");
        jedis.incr("n1");
        System.out.println(jedis.get("n1"));
        // 进行-1的操作(decr)
        jedis.decr("n1");
        System.out.println(jedis.get("n1"));
        // 某个值增加多少(incrBy)
        jedis.set("p2", "4");
        jedis.incrBy("p2", 5);
        System.out.println(jedis.get("p2"));
        // 某个值减少多少(decrBy)
        jedis.incrBy("p2", 2);
        System.out.println(jedis.get("p2"));
        // 判断是否存在某个key(exists)
        System.out.println(jedis.exists("a1"));
        System.out.println(jedis.exists("p1"));
        // 设置值的时间:存在5s(setex)
        jedis.setex("s1", 5, "4");
        // 查询值的存活时间:当 key不存在时,返回 -2,当key存在但没有设置剩余生存时间时,返回-1,
        jedis.setex("s2", 200, "4");
        jedis.set("s3", "4");
        // 当key存在且设定有存活时间 以秒为单位,返回key的剩余生存时间(ttl)
        System.out.println(jedis.ttl("s2"));
        // 当key不存在
        System.out.println(jedis.ttl("s100"));
        // 当key存在 但是没有设定存活时间
        System.out.println(jedis.ttl("s3"));
        // 去掉key的时间设置:不再有失效时间(persist)
        jedis.persist("s2");
        System.out.println(jedis.ttl("s2"));
        // 关闭连接
        jedis.close();
    }

    
    @Test
    public void test_List() {
        jedis.flushAll();
        // 保存数据:lpush-->left push
        jedis.lpush("l1", "数据1", "数据2", "数据3");
        // 查询:第一个值是key,第二个值表示从0开始,第三个值表示结束(-1表示取全部)(lrange)
        System.out.println(jedis.lrange("l1", 0, -1));
        // userListA当中的值排列情况:["Kevin Durant","stephen curry","kobe bryant","king james"]
        // 保存数据:rpush-->right push
        jedis.rpush("userListA", "Kevin Durant", "stephen curry", "kobe bryant", "king james");
        // 查询:第一个值是key,第二个值表示从0开始,第三个值表示结束(-1表示取全部)
        System.out.println(jedis.lrange("userListA", 0, -1));
        
        jedis.rpush("userListB", "Kevin Durant", "stephen curry", "kobe bryant", "king james", "Wilt Chamberlain",
                "John Smith", "Karl Malone");
        // 移除并返回列表key的头元素:lpop-->left pop
        System.out.println(jedis.lpop("userListB"));
        // 移除并返回列表key的尾元素:rpop-->right pop
        System.out.println(jedis.rpop("userListB"));
        // 删除key
        jedis.del("l1");
        System.out.println(jedis.get("l1"));
        // 查询特定位置的值:idnex从0开始(lindex)
        System.out.println(jedis.lindex("userListA", 1));
        // 对list进行裁剪:只保留下标1-3的值,其他的全部删除,下标从0开始(ltrim)
        System.out.println(jedis.ltrim("userListA", 1, 3));
        System.out.println(jedis.lrange("userListA", 0, -1));
        // 根据参数count的值,移除列表中与参数value相等的元素。
        jedis.rpush("list1", "1", "1", "1", "1", "1", "2", "3", "4", "5", "6", "7", "8");
        System.out.println(jedis.lrange("list1", 0, -1));
        jedis.lrem("list1", 3, "1");
        System.out.println(jedis.lrange("list1", 0, -1));
        // lrem(key, count, value):删除count个key的list中值为value的元素
        jedis.rpush("list2", "1", "1", "3", "1", "1", "2", "3", "2", "3", "3", "4", "3", "5", "3", "1", "4", "2", "6",
                "7", "5");
        // lpop(key):返回并删除名称为key的list中的首元素
        jedis.lpop("list2");
        System.out.println(jedis.lrange("list2", 0, -1));
        // rpop(key):返回并删除名称为key的list中的尾元素
        jedis.rpop("list2");
        System.out.println(jedis.lrange("list2", 0, -1));
        // 从users的右边弹出一个元素,把该元素左插入到players列表当中(rpoplpush)
        jedis.rpoplpush("list2", "list2");
        System.out.println(jedis.lrange("list2", 0, -1));
    }
}

 

 

  

 

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯