• Redis-使用java代码操作Redis


    目录

    一、Java连接redis

    1.前置工作

    ① redis的服务要开启

    ② pom依赖中导入我们jedis驱动

    ③ Java连接数据库

    二、Java操作redis 

     三、Java操作哈希(Hash)

    四、Java操作Redis列表(List) 

    五、Java操作Redis集合(Set) 


    一、Java连接redis

    1.前置工作

    ① redis的服务要开启

     打开我们的Java集成开发环境工具软件,我就用我之前写过的ssm模块来写今天的课程。

    ② pom依赖中导入我们jedis驱动

    1. <!--redis链接的驱动-->
    2. <dependency>
    3. <groupId>redis.clients</groupId>
    4. <artifactId>jedis</artifactId>
    5. <version>2.9.0</version>
    6. </dependency>

    在java里面建一个类叫redis,再在里面建一个Demo1

    Java连接数据库

     Jedis jedis = new Jedis("192.168.29.128", 6379);

    // 我们要填写密码才可以链接

    jedis.auth("123456");

    System.out.println(jedis.ping());

    二、Java操作redis 

    Redis字符串(String)

     //        #set key          //保存
            jedis.set("string_name","wangwu");
    //        #get key          //获取
            System.out.println(jedis.get("string_name"));
    //        #type key         //查看类型
            System.out.println(jedis.type("string_name"));
    //        #keys * 或keys key //查看所有或者指定的key
            System.out.println(jedis.keys("*"));
    //        #SETEX KEY_NAME TIMEOUT VALUE    // 给键值对设置过期时间
            jedis.setex("string_zs",30,"活着");
    //        #ttl key    // 获取键值对剩余的存活时间
            System.out.println(jedis.ttl("string_zs"));

    //        #del key        //删除

            System.out.println(jedis.del("age"));

    //        #set key        //修改

           jedis.set("age","22")

    1. package com.jwj.ssm.redis;
    2. import redis.clients.jedis.Jedis;
    3. /**
    4. * @author 敢敢
    5. * @site www.javajwj.com
    6. * @company xxx公司
    7. * @create  2022-10-26 23:40
    8. */
    9. public class Demo2 {
    10. public static void main(String[] args) {
    11. Jedis jedis = new Jedis("192.168.29.128", 6379);
    12. jedis.auth("123456");
    13. jedis.select(7);
    14. // string
    15. //增加数据
    16. // jedis.set("sname","敢敢");
    17. // jedis.set("age","18");
    18. // jedis.set("sex","女");
    19. //删除数据
    20. // System.out.println(jedis.del("age"));
    21. //修改数据
    22. // jedis.set("sname","小坤");
    23. //设置过期时间
    24. // jedis.setex("hobby",50,"桌球");
    25. //查询剩余的存活时间
    26. System.out.println(jedis.ttl("hobby"));
    27. }
    28. }

     三、Java操作哈希(Hash)

    //    # hset key field1 value1 [field2 value2]  #同时将多个field-value设置到哈希表key中
    jedis.hset("java_user","name","zs");
    jedis.hset("java_user","sex","男");
    jedis.hset("java_user","age","12");

    //    # hget key field                          #获取指定的字段值
    System.out.println(jedis.hget("java_user", "sex"));

    //    # hdel key field                          #删除指定的字段值
    jedis.hdel("java_user","sex");

    //    # hgetall key                             #查询指定key的所有字段
    Map java_user_map = jedis.hgetAll("java_user");
    System.out.println(java_user_map);

    //    # hexists key field                       #查询指定key中的字段是否存在
    Boolean java_user = jedis.hexists("java_user","sex");
    System.out.println(java_user);

    //    # hlen key                                #获取指定key中的长度
    Long java_user_len = jedis.hlen("java_user");
    System.out.println(java_user_len);

    1. package com.jwj.ssm.redis;
    2. import redis.clients.jedis.Jedis;
    3. import java.util.Map;
    4. /**
    5. * @author 敢敢
    6. * @site www.javajwj.com
    7. * @company xxx公司
    8. * @create  2022-10-26 23:59
    9. */
    10. public class Demo3 {
    11. public static void main(String[] args) {
    12. Jedis jedis = new Jedis("192.168.29.128", 6379);
    13. jedis.auth("123456");
    14. jedis.select(7);
    15. // 操作哈希 其实就是存储对象
    16. // jedis.hset("stu","sname","zs");
    17. // jedis.hset("stu","age","12");
    18. // jedis.hset("stu","sex","女");
    19. // 开发过程中,如果存储对象,将对象转换成json,把json字符串的方式,存储到redis
    20. // 获取redis中的对象相关信息,jedis.get拿到json串, JSON.paresObject();
    21. // 删除对象 中 的某一属性
    22. // jedis.hdel("stu","age");
    23. // 获取值
    24. // Map<String, String> stu = jedis.hgetAll("stu");
    25. // System.out.println(stu);
    26. // 判断对象中的某一项属性是否存在
    27. // Boolean hexists = jedis.hexists("stu", "age");
    28. // System.out.println(hexists);
    29. // 获取对象中属性长度
    30. Long stu = jedis.hlen("stu");
    31. System.out.println(stu);
    32. }
    33. }

    四、Java操作Redis列表(List) 

     //        # lpush key value1 value2 value3          #将一个或多个值插入到列表头部
    jedis.lpush("java_hobby", "篮球", "足球", "羽毛球");
    //        # llen key                                #获取列表的长度
    Long java_hobby_len = jedis.llen("java_hobby");
    System.out.println(java_hobby_len);
    //        # lindex key index                        #根据索引获取列表中的元素
    System.out.println(jedis.lindex("java_hobby", 0));
    //        # lrange key start sop                    #查看指定范围内的元素
    System.out.println(jedis.lrange("java_hobby", 0, 1));

    1. package com.jwj.ssm.redis;
    2. import redis.clients.jedis.Jedis;
    3. /**
    4. * @author 敢敢
    5. * @site www.javajwj.com
    6. * @company xxx公司
    7. * @create  2022-10-27 10:57
    8. */
    9. public class Demo4 {
    10. public static void main(String[] args) {
    11. Jedis jedis = new Jedis("192.168.29.128", 6379);
    12. jedis.auth("123456");
    13. jedis.select(7);
    14. // 存储值
    15. // jedis.lpush("hobby","桌球","篮球","足球","乒乓球","羽毛球","排球");
    16. // 取值 lindex
    17. // System.out.println(jedis.lindex("hobby", 1));
    18. // 获取列表长度
    19. // Long hobby = jedis.llen("hobby");
    20. // System.out.println(hobby);
    21. // 查看指定范围的元素
    22. System.out.println(jedis.lrange("hobby", 1, 3));
    23. }
    24. }

    五、Java操作Redis集合(Set) 

     //        # sadd key value1 [value2]                #向集合添加一个或多个元素
    jedis.sadd("java_set_user","张三","李四","王五","张三丰");
    //        # scard key                               #获取集合中的元素数量
    System.out.println(jedis.scard("java_set_user"));
    //        # exists key                              #是否存在
    System.out.println(jedis.exists("java_set_user"));

    1. package com.jwj.ssm.redis;
    2. import redis.clients.jedis.Jedis;
    3. /**
    4. * @author 敢敢
    5. * @site www.javajwj.com
    6. * @company xxx公司
    7. * @create  2022-10-27 11:10
    8. */
    9. public class Demo5 {
    10. public static void main(String[] args) {
    11. Jedis jedis = new Jedis("192.168.29.128", 6379);
    12. jedis.auth("123456");
    13. jedis.select(7);
    14. // 向集合添加一个多个元素
    15. // jedis.sadd("user","小坤","敢敢","小蒋");
    16. // 获取集合中的元素的数量
    17. System.out.println(jedis.scard("user"));
    18. // 集合中的某一元素是否存在
    19. System.out.println(jedis.exists("user"));
    20. // 这个是不存在的
    21. System.out.println(jedis.exists("users"));
    22. }
    23. }

    其实这里面这些还有很多方法,我只是写了一部分的,后期你们可以去官网上查找。

     Redis 有序集合(sorted set)_w3cschool

    用这个redis的时候,如果说项目中多个模块中都用到redis,这个时候可以封装redis的工具包

  • 相关阅读:
    B. AND 0, Sum Big-Codeforces Round #716 (Div. 2)
    python 自定义异常/raise关键字抛出异常
    可观测 AIOps 的智能监控和诊断实践丨QCon 全球软件开发大会总结
    App测试和Web测试的区别
    流媒体服务器
    【Linux入门】Linux环境配置
    基于STM32F407的FreeRTOS学习笔记(1)——环境搭建
    国内在线协作工具有哪些?
    Python爬虫从端到端抓取网页
    【微信小程序】如何获得自己当前的定位呢?本文利用逆地址解析、uni-app带你实现
  • 原文地址:https://blog.csdn.net/weixin_67465673/article/details/127542885