• springboot 使用 redis


    springboot 自己是实现了一套 redis 缓存框架, 地址: https://www.cnblogs.com/huanggy/p/9473822.html, 通过配置即可轻松愉快地实现

    某些特殊场合还是需要我们自己写入 redis, 首先需要在 springboot 项目整合 redis, 整合方法: https://www.cnblogs.com/huanggy/p/9473822.html 

    1, 注入 StringRedisTemplate

    @Autowired
    private StringRedisTemplate redis;

    2, 通用操作

    // 检查 key 是否存在, 返回布尔值
    redis.hasKey("test");
    // 通过 key 删除
    redis.delete("test");
    // 获取过期时间
    redis.getExpire("test")
    // 获取过期时间并换算成指定单位
    redis.getExpire("test",TimeUnit.SECONDS)
    // 设置过期时间
    redis.expire("test",1000 , TimeUnit.SECONDS);

    3, Value 操作

    // 设置值
    redis.opsForValue().set("userName","Marry");
    // 设置值同时设置过期时间, 3600 秒
    redis.opsForValue().set("userAge", 3600, TimeUnit.SECONDS);
    // 获取值
    redis.opsForValue().get("userName");
    // 自减 1
    redis.boundValueOps("age").increment(-1)
    // 自加 1
    redis.boundValueOps("age").increment(-1)

    4, List 操作

    // 添加(从右添加, 可以理解为从尾部添加)
    redis.opsForList().rightPush("myList","1");
    redis.opsForList().rightPush("myList","2");
    redis.opsForList().rightPush("myList","3");
    // 添加(从左添加, 可以理解为从头部添加)
    redis.opsForList().leftPush("myList","0");
    redis.opsForList().leftPush("myList","-1");
    // 获取 list 所有元素(0 表示第一个, -1 表示所有)
    redis.opsForList().range("myList",0,-1)
    // 获取 list 前5个元素(0,5 前闭后开)
    redis.opsForList().range("myList",0,5)
    // 添加一个 list 
    List<String> strList = new ArrayList<>();
    strList.add("4);
    strList.add("5);
    redis.opsForList().rightPushAll("MyList", strList);
    // 删除最先进入 myList 的值为 "1"的元素(因为List 可以重复, 一个值可能会出现多次)
    redis.opsForList().remove("myList",1, "1");
    // 删除所有值是 "1" 的元素
    redis.opsForList().remove("myList",0, "1");

    5, Hash 操作

    // 单独添加属性 姓名(后面的会覆盖前面的)
    redis.opsForHash().put("user:10001", "userName", "Marry");
    // 单独添加属性 年龄
    redis.opsForHash().put("user:10001", "userAge", 20);
    // 添加整个对象
    Map<String, String> map = new HashMap<>();
    map.put("userName", "Rose");
    map.put("userAge", 20);
    redis.opsForHash().putAll("user:10002", map);
    // 获取 map 对象所有键值对
    Map<Object, Object> map = redis.opsForHash().entries("user:10001");
    // 获取 map 对象的某一个 key 的值
    redis.opsForHash().get("userName:10001", "userName");
    // 获取所有 key
    Set<Object> set = redis.opsForHash().keys("user:10001");
    // 获取所有 value
    List<Object> list = redis.opsForHash().values("user:10001");
    // 删除 map 对象的某一个 key-value
    redis.opsForHash().get("userName:10002", "userAge");
  • 相关阅读:
    网页加载进度条
    【转载】通俗易懂,什么是.NET?什么是.NET Framework?什么是.NET Core?
    前端知识复习:Html DIV 图文混排(文字放在图片下边)
    NOPI导出Excel
    C# 发送邮件
    DataSetToList 和 DataTableTolist 转换
    一个修改版的PHP ajax Tree树形菜单
    你的站为什么百度无动于衷——10年老站长的SEO肺腑之言 .
    关于php使用phpqrcode生成二维码的完整源码下载
    php结合phpqrcode生成带图片LOGO的二维码
  • 原文地址:https://www.cnblogs.com/huanggy/p/9773394.html
Copyright © 2020-2023  润新知