redis2026-04-19

1. 首先安裝redis

brew install redis
前臺啟動:redis-server ; crtrl + c 停止
后臺啟動:brew services start redis
后臺停止:brew services stop redis
檢查是否啟動成功:redis-cli ping , 返回:PONG 啟動成功

2. 添加依賴: xml 文件配置
    <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>4.0.0</version>
        </dependency>
3. application.yml 文件添加配置連接: 下面只關(guān)注redis 部分就可以了
spring:
  datasource:
    #url: jdbc:mysql://127.0.0.1:3306/demo_db?useSSL=false&serverTimezone=Asia/Shanghai&characterEncoding=utf8
    url: jdbc:mysql://localhost:3306/demo_db?useSSL=false&serverTimezone=Asia/Shanghai&characterEncoding=utf8
    username: root
    password: 123456
    driver-class-name: com.mysql.cj.jdbc.Driver

  data:
    redis:
      host: localhost
      port: 6379
      password: 123456
      # database: 0
      # jedis:
      #   pool:
      #     max-active: 10
      #     max-idle: 5
      #     min-idle: 1
      #     max-wait: 2000    

mybatis:
  mapper-locations: classpath:mapper/*.xml   # mapper 的映射文件路徑
  type-aliases-package: com.example.demo.entity

4. 使用

redisTemplate:
Spring 提供的 Redis 模板類,用來操作 Redis,負(fù)責(zé)連接 Redis、發(fā)送命令、拿結(jié)果
opsForValue()
從總管家這里拿到“字符串類型操作器”
opsForList()
拿到“列表類型操作器”
opsForSet()
拿到“集合類型操作器”
opsForHash()
拿到“哈希類型操作器”
opsForZSet()
拿到“有序集合類型操作器”

    @Autowired
    private RedisTemplate<Object, Object> redisTemplate;

------------------
              redisTemplate.opsForValue().set("name", "張三");
        Object name = redisTemplate.opsForValue().get("name");
        System.out.println("從Redis中獲取的值:" + name);

        /// 將元素添加到指定隊列中,左邊添加和右邊添加
        redisTemplate.opsForList().leftPush("students", "大蝦");
        redisTemplate.opsForList().leftPush("students", "小兵");

        /// 獲取隊列中左右的元素,并從隊列中移除,用于消費消息
        List<Object> students = redisTemplate.opsForList().range("students", 0, -1);
        Object students1 = redisTemplate.opsForList().leftPop("students"); ///
        // 從隊列頭部獲取元素,并且從隊列中刪除該元素
        Object students2 = redisTemplate.opsForList().rightPop("students"); //
        //// 從隊列尾部獲取元素,并且從隊列中刪除該元素

        System.out.println("從Redis 隊列中獲取的學(xué)生隊列:" + students);

        /// 將元素添加到指定集合中,集合中的元素是唯一的,重復(fù)添加不會生效,無序的,不重復(fù)
        redisTemplate.opsForSet().add("hobbies", "籃球", "足球", "籃球");
        /// 獲取集合中的所有元素
        System.out.println("從Redis集合中獲取的愛好集合列表:" +
                redisTemplate.opsForSet().members("hobbies"));

        /// 將元素添加到指定的Hash中,Hash中的元素是鍵值對的形式,可以通過鍵獲取對應(yīng)的值
        redisTemplate.opsForHash().put("user:1", "name", "張三");
        redisTemplate.opsForHash().put("user:1", "age", 20);
        Object name2 = redisTemplate.opsForHash().get("user:1", "name");
        Object age = redisTemplate.opsForHash().get("user:1", "age");
        System.out.println("從Redis Hash中獲取的用戶信息:" + name2 + ", age:" + age);

        //// 有序集合: 每個元素都有一個分?jǐn)?shù)score作為排序順序
        redisTemplate.opsForZSet().add("scores", "張三", 90);
        redisTemplate.opsForZSet().add("scores", "李四", 80);
        Set res = redisTemplate.opsForZSet().rangeWithScores("scores", 0, -1);
        System.err.println("從Redis有序集合中獲取的分?jǐn)?shù)列表:" + res);
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容