Redis入門實踐

安裝Redis

  1. 下載:官網:https://redis.io/download/,選擇穩定版下載。

  2. 上傳至linux

  3. 解壓Redis:tar -zxvf redis-6.2.7.tar.gz,得到:

  4. 安裝gcc編譯環境,如果已經安裝過了,則跳過:yum install gcc-c++

  5. 進入到redis-6.2.7目錄,進行安裝:make && make install,執行完畢後安裝成功

  6. .配置redis,在utils下,拷貝 redis_init_script/etc/init.d 目錄,目的要把redis作爲開機自啓動

  7. 創建 /usr/local/redis,用於存放配置文件

  8. 拷貝redis配置文件,拷貝到/usr/local/redis

  9. 修改redis.conf這個核心配置文件

    • 修改 daemonize no->daemonize yes,目的是爲了讓redis啓動在linux後臺運行

    • 修改redis的工作目錄,建議修改爲/usr/local/redis/working,名稱隨意

    • 修改如下內容,綁定IP改爲0.0.0.0,代表可以讓遠程連接,不受ip限制

    • 最關鍵的是密碼,默認是沒有的,一定要設置

  10. 修改 redis_init_script 文件中的redis核心配置文件爲如下∶並修改redis的核心配置文件名稱爲:6379.conf

  11. 爲redis啓動腳本添加執行權限,隨後運行啓動redis;

  12. 檢查redis進程,至此redis安裝並且啓動成功

  13. 設置redis開機自啓動,修改 redis_init_script,添加如下內容

#chkconfig:22345 10 90
#description: Start and Stop redis

隨後執行:chkconfig redis_init_script on
重啓服務器(虛擬機)後,再看進程。

SpringBoot整合Redis

  1. 引入Redis依賴
<!--引入 redis 依賴 -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
  1. 配置redis
spring:
  redis:
    database: 1 
    host: 192.168.32.10 
    port: 6379 
    password: reminis
  1. controller測試
@Autowired
private RedisTemplate redisTemplate;

@GetMapping("/test")
public vid testRedis(String key, String value) {
    redisTemplate.opsForValue().set(key, value);
    (String)redisTemplate.opsForValue().get(key);
    redisTemplate.delete(key);
}

Redis的命令客戶端

  • redis-cli -a password shutdown:關閉redis
  • ./redis_init_script stop:關閉reids
  • redis-cli:進入redis客戶端
  • auth password:輸入密碼
  • set key value:設置緩存
  • get key:獲得緩存
  • del key:刪除緩存
  • redis-cli -a password ping:查看是否存活

Redis得數據類型

string字符串

  string:最簡單的字符串類型鍵值對緩存,也是最基本的

  1. key相關
    • keys*:查看所有的key(不建議在生產環境中使用,有性能影響)
    • type key:查看key的類型
  2. string類型
    • get/set/del:查詢/設置/刪除
    • set key vaue:設置已存在key,會覆蓋
    • setnx key value:設置已存在的key,不會覆蓋
    • set key value ex time:設置帶過期時間的數據
    • expire key:設置過期時間
    • ttl:查看過期時間,-1永不過期,-2已過期
    • append key:合併字符串長度
    • strlen key:字符串長度
    • incr key:累加1
    • decr key:累減1
    • incrby key num:累加給定數值
    • decrby key num:累減給定數值
    • getrange key start end:截取數據,end=-1代表到最後
    • setrange key start newdata:從start位置開始替換數據
    • mset:批量設值
    • mget: 批量取值
    • msetnx:批量設值,如果存在則不設值
  3. 其它
    • select index:切換數據庫,總共默認16個
    • flushdb:刪除當前db下邊的所有數據
    • flushall:刪除所有db中的數據

hash

  hash:類似map,存儲結構化數據,比如存儲一個對象(不能嵌套對象)
使用

  • hset key property value。如 hset user name reminis(創建一個user對象,這個對象中包含user屬性,name的值爲reminis),hget user name:獲得用戶對象中name的值

  • hmset:設置對象中的多個鍵值對。如 hmset user age 18 gender man phone 19209807669,hmsetnx:設置對象中的多個鍵值對,存在則不添加

  • hmget:獲得對象中的多個屬性。如 hmget user age gender phone

  • hgetall user:獲得整個對象的內容

  • hincrby user age 2:累加屬性

  • hincrbyfloat user age 2.2: 累加屬性

  • hlen user:查看user對象有多少個屬性

  • hexists user age:判斷屬性是否存在

  • hkeys user:獲得對象的所有屬性

  • hvals user:獲得所有值

  • hdel user name:刪除對象的某個屬性

list

list:列表,[a,b,c,d,e,...]
使用

  • lpush userList 1 2 3 4 5:構建一個list,從左邊開始存入數據
  • rpush userList 1 2 3 4 5:構建一個List,從右邊開始存入數據
  • lrange userList start end:獲得數據
  • lpop userList:從左側開始拿出一個數據
  • rpop userList:從右側開始拿出一個數據
  • llen userList:list的長度
  • lindex userList index:獲取list下標的值
  • lset userList index value:把list的某個下標的值替換
  • linsert userList before/after value:插入一個新的值
  • lrem userList num value:刪除幾個相同的數據
  • ltrim userList start end:截取值,替換原來的list

set

set:相當於去重的list

zset

sorted set:排序的set,可以去重可以排序,比如可以根據用戶積分做排名,積分作爲set的一個數值,根據數值可以做排序。zset中的每一個member都帶有一個分數
使用

  • zadd zset 10 value1 20 value2 30 value3:設置member和對應的分數
  • zrange zset 0 -1:查看所有zset中的內容
  • zrange zset 0 -1 withscores:帶有分數
  • zrank zset value:獲得對應的下標
  • zscore zset value:獲得對應的分數
  • zcard zset:統計個數
  • zcount zset 分數1 分數2:統計個數
  • zrangebyscore zset 分數1 分數2:查詢分數之間的member(包含分數1和分數2)
  • zrangebyscore zset (分數1 (分數2:查詢分數之間的member(不包含分數1和分數2)
  • zrangebyscore zset 分數1 分數2 limit start end:查詢分數之間的member(包含分數1和分數2),獲得的結果集再次根據下標區間做查詢
  • zrem zset value:刪除member
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章