日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

Redis五种数据结构

發布時間:2024/4/15 数据库 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Redis五种数据结构 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

對redis來說,所有的key(鍵)都是字符串,所謂的5種數據結構是指針對value而言

1、Redis五種數據結構如下:

數據結構類型說明使用場景常用方法其他鏈接
String字符串類型

1、redis中最基本的數據類型,一個key對應一個value。

2、是二進制安全的,意思是 redis 的 string 可以包含任何數據。如數字,字符串,jpg圖片或者序列化的對象。

1.緩存: 經典使用場景,把常用信息,字符串,圖片或者視頻等信息放到redis中,redis作為緩存層,mysql做持久化層,降低mysql的讀寫壓力。

2.計數器:redis是單線程模型,一個命令執行完才會執行下一個,同時數據可以一步落地到其他的數據源。

3.session:常見方案spring session + redis實現session共享,

get 、 set 、 del 、 incr、 decr?

HashTables (哈希)

是一個Mapmap,指值本身又是一種鍵值對結構,如 value={{field1,value1},......fieldN,valueN}}1.緩存: 能直觀,相比string更節省空間的維護緩存信息,如用戶信息,視頻信息等。

所有hash的命令都是h開頭的:

hget? 、hset 、? hdel 等

?
LinkedLists(鏈表)List 說白了就是鏈表(redis 使用雙端鏈表實現的 List),是有序的,value可以重復,可以通過下標取出對應的value值,左右兩邊都能進行插入和刪除數據。1.timeline:例如微博的時間軸,有人發布微博,用lpush加入時間軸,展示新的列表信息。

使用列表的技巧

  • lpush+lpop=Stack(棧)
  • lpush+rpop=Queue(隊列)
  • lpush+ltrim=Capped Collection(有限集合)
  • lpush+brpop=Message Queue(消息隊列)
?
Sets(集合)

用來保存多個字符串的元素,但和列表不同的是集合中

1. 不允許有重復的元素

2.集合中的元素是無序的,不能通過索引下標獲取元素

3.支持集合間的操作,可以取多個集合取交集、并集、差集。

1.標簽(tag),給用戶添加標簽,或者用戶給消息添加標簽,這樣有同一標簽或者類似標簽的可以給推薦關注的事或者關注的人。

2.點贊,或點踩,收藏等,可以放到set中實現

命令都是以s開頭的:

sset 、srem、scard、smembers、sismember

1、set類型的應用場景 —— Redis實戰經驗

Zset? 有序集合

1.Redis 有序集合和集合一樣也是string類型元素的集合,且不允許重復的成員。

2.不同的是每個元素都會關聯一個double類型的分數。redis正是通過分數來為集合中的成員進行從小到大的排序。

3.有序集合的成員是唯一的,但分數(score)卻可以重復。

1.排行榜:有序集合經典使用場景。例如小說視頻等網站需要對用戶上傳的小說視頻做排行榜,榜單可以按照用戶關注數,更新時間,字數等打分,做排行。

有序集合的命令都是 以? z? 開頭:

zadd 、 zrange、 zscore

1、Redis 有序集合(sorted set)

2、使用Redis有序集合實現投票排行榜系統

總結

以上是生活随笔為你收集整理的Redis五种数据结构的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。