redis入門-在spring boot中使用redis

簡介

redis是完全開源免費的,遵守BDS協議的,基於內存的高性能NoSQL數據庫。
可以支持每秒十幾萬次的讀/寫操作,還支持集羣,同步,主從同步等配置,並且支持一定的事務能力。redis在java web中主要應用於緩存和高速讀寫。
在使用redis進行存儲的時候一般從一下幾個方面來考慮:

  • 命中率。數據是否常用
  • 數據是讀操作多還是寫操作多?如果是寫操作比較多也沒有必要用緩存
  • 數據大小。如果要存儲上百兆的文件也是沒有必要用緩存的,會給緩存帶來很大的壓力。

redis支持的數據類型:

  • string字符串 。string類型是二進制安全的,可以包含任何數據,可以是圖片也可以是序列化對象。string類型最大能存儲512兆。
  • list列表。list是一個簡單的按照插入順序排序的字符串列表
  • set集合。set是string類型的無序集合,不允許成員重複,是通過哈希表實現的,所以添加、刪除、查找的複雜度都是O(1)
  • zset有序集合。每個元素都會關聯一個double類型的分數。redis正是通過分數來爲集合中的成員進行從小到大的排序。zset的成員是唯一的,但分數(score)卻可以重複
  • hash哈希。這是一個鍵值對集合,適合用於存儲對象。

在spring boot中使用redis

下載並啓動redis。
一、添加依賴,刷新maven。

<dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>

二、添加配置

# REDIS (RedisProperties)
# Redis數據庫索引(默認爲0)
spring.redis.database=0
# Redis服務器地址
spring.redis.host=localhost
# Redis服務器連接端口
spring.redis.port=6379
# Redis服務器連接密碼(默認爲空)
spring.redis.password=
# 連接超時時間(毫秒)
spring.redis.timeout=2000
# 連接池最大連接數(使用負值表示沒有限制)
spring.redis.jedis.pool.max-active=8
# 連接池最大阻塞等待時間(使用負值表示沒有限制)
spring.redis.jedis.pool.max-wait=-1
# 連接池中的最大空閒連接
spring.redis.jedis.pool.max-idle=8
# 連接池中的最小空閒連接
spring.redis.jedis.pool.min-idle=0

三、測試

@RunWith(SpringRunner.class)
@SpringBootTest(classes={App.class})
public class AppTest
{
    @Autowired
    private RedisTemplate redisTemplate;
    
    @Test
    public void shouldAnswerWithTrue() throws Exception{
        //存儲對象
       redisTemplate.opsForValue().set("111","222");
       //取出對象
       String value = (String) redisTemplate.opsForValue().get("111");
       System.out.println(value);
    }
}

總結

redis是基於內存高性能NoSQL數據庫,一般用於緩存高速讀寫
在spring boot中使用redis,可以使用RedisTemplate

  1. 添加依賴
  2. 添加配置文件,配置redis的鏈接地址,端口,密碼等信息
    之後會學習並記錄RedisTemplate的一些常用操作。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章