Redis資料型別

2021-09-12 11:38:37 字數 2952 閱讀 8691

redis 5種資料型別

1 字串型別

2雜湊型別hash

3 列表型別

4 集合型別

5 有序集合型別

1 字串型別

一般做一些複雜的計數功能的快取

127.0.0.1:6379> set hehe hello hehe是key hello是values

ok127.0.0.1:6379> get hehe

「hello」

自增127.0.0.1:6379> incr num (每執行一次該名利自增1)

(integer) 1

指定增長數量

127.0.0.1:6379> incrby num 10

(integer) 19

自減127.0.0.1:6379> decr num

(integer) 18

指定較少數量

127.0.0.1:6379> decrby num 5

(integer) 13

自增小數浮點

127.0.0.1:6379> incrbyfloat key 0.1

「0.1」

127.0.0.1:6379> incrbyfloat key 0.1

「0.2」

一次建立多個key和value

127.0.0.1:6379> mset key1 v1 key2 v2

ok一次檢視多個key

127.0.0.1:6379> mget key1 key2

「vi」

「v2」

獲取字串長度

127.0.0.1:6379> strlen key1

(integer) 2

2雜湊型別

做單點登入的時候,就是用這種資料結構儲存使用者資訊,以cookieid作為key,設定30分鐘為快取過期時間,能很好的模擬出類似session的效果。

127.0.0.1:6379> hset shouji name iphone

(integer) 1

127.0.0.1:6379> hset shouji col red

(integer) 1

127.0.0.1:6379> hset shouji price 8888

(integer) 1

127.0.0.1:6379> hgetall shouji

「name」

「iphone」

「col」

「red」

「price」

「8888」

3 列表型別

可以做簡單的訊息佇列的功能。另外還有乙個就是,可以利用lrange命令,做基於redis的分頁功能,效能極佳,使用者體驗好。本人還用乙個場景,很合適—取**資訊。就也是個生產者和消費者的場景。list可以很好的完成排隊,先進先出的原則

從左側插入資料

127.0.0.1:6379> lpush num 0

從右側插入資料

127.0.0.1:6379> rpush num 1

檢視列表長度

127.0.0.1:6379> llen num

(integer) 2

從左側彈出資料(刪除)

127.0.0.1:6379> lpop num

「0」從右側彈出資料

127.0.0.1:6379> rpop num

「2」範圍內讀取資料

讀取資料是從左側開始讀取 第乙個的標記是0 -1表示右邊第乙個資料

127.0.0.1:6379> lrange num 0 -1

「5」「4」

「3」「2」

獲取指定元素的值

左側標記是從0開始依次類推 右側是從-1開始-2 -3 依次類推

127.0.0.1:6379> lindex num 0

「5」只保留範圍內資料

127.0.0.1:6379> ltrim num 0 2

127.0.0.1:6379> lrange num 0 -1

「5」「4」

「3」

4 集合型別

所以可以做全域性去重的功能 就是利用交集、並集、差集等操作,可以計算共同喜好,全部的喜好,自己獨有的喜好等功能

應用場景:好友關注關係

sadd key 值

建立集合

127.0.0.1:6379> sadd jihe a b c

檢視集合內容

127.0.0.1:6379> smembers jihe

判斷集合元素是否存在

127.0.0.1:6379> sismember jihe a

1為真 0為假

集合差運算

127.0.0.1:6379> sadd jihe1 a b c

(integer) 3

127.0.0.1:6379> sadd jihe2 b c d

(integer) 3

127.0.0.1:6379> sdiff jihe1 jihe2

「a」運算方法:jihe1 減去 jihe2

集合交集運算

127.0.0.1:6379> sinter jihe1 jihe2

「b」「c」

集合並集運算

127.0.0.1:6379> sunion jihe1 jihe2

「a」「b」

「c」「d」

5 有序集合型別zadd key序列號值

127.0.0.1:6379> zadd youxu 81 b 82 c

獲取元素的分數

127.0.0.1:6379> zscore youxu b

「81」

按照分數排列

127.0.0.1:6379> zrange youxu 0 1

「b」「c」

redis資料型別

redis對比與memcached 最大的優勢就是支援更多靈活的資料結構,豐富的資料操作 redis現支援的資料型別有 字串,列表,集合,雜湊,有序集合 1.字串 普通資料型別 2.列表 簡單的字串列表,按照插入順序排序。你可以新增乙個元素到列表的頭部 左邊 或者尾部 右邊 適用於 對資料頭尾操作頻...

Redis 資料型別

redis支援五種資料型別 string 字串 hash 雜湊 list 列表 set 集合 及zset sorted set 有序集合 string是redis最基本的型別,你可以理解成與memcached一模一樣的型別,乙個key對應乙個value。string型別是二進位制安全的。意思是red...

Redis 資料型別

redis支援五種資料型別 string 字串 hash 雜湊 list 列表 set 集合 及zset sorted set 有序集合 string是redis最基本的型別,你可以理解成與memcached一模一樣的型別,乙個key對應乙個value。string型別是二進位制安全的。意思是red...