redis爬坑記 二 redis的資料型別

2021-08-13 19:51:24 字數 2536 閱讀 4399

redis支援五種資料型別:string(字串),hash(雜湊),list(列表),set(集合)及zset(sorted set:有序集合)。

命令: get    set

127.0.0.1:6379> set username  xc

ok127.0.0.1:6379> get username

"xc"

注意:

乙個鍵最大能儲存512mb

命令: hmset     hget

127.0.0.1:6379> hmset myhash field1 "x" field2 "c"

ok127.0.0.1:6379> hget myhash field1

"x"127.0.0.1:6379> hget myhash field2

"c"127.0.0.1:6379> hmset user username "xc" password "123"

ok127.0.0.1:6379> hget user username

"xc"

127.0.0.1:6379> hget user password

"123"

每個 hash 可以儲存 2

32-1 鍵值對(40多億)。

redis的set是string型別的無序集合。

命令:sadd

sadd key member

檢視

smembers key

新增乙個string元素到,key對應的set集合中,成功返回1,如果元素已經在集合中返回0,key對應的set不存在返回錯誤。

127.0.0.1:6379> sadd xc number1

(integer) 1

127.0.0.1:6379> sadd xc number2

(integer) 1

127.0.0.1:6379> sadd xc number3

(integer) 1

127.0.0.1:6379> smembers xc

1) "number2"

2) "number3"

3) "number1"

127.0.0.1:6379>

redis zset 和 set 一樣也是string型別元素的集合,且不允許重複的成員。

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

zset的成員是唯一的,但分數(score)卻可以重複。

命令:zadd  新增元素

zadd key score member

檢視:zrangebyscore key 0 1000

127.0.0.1:6379> zadd a 0 1

(integer) 1

127.0.0.1:6379> zadd a 0 1

(integer) 0

127.0.0.1:6379> zadd a 0 2

(integer) 1

127.0.0.1:6379> zadd a 1 1

(integer) 0

127.0.0.1:6379> zadd a 0 3

(integer) 1

127.0.0.1:6379> zadd a 1 3

(integer) 0

127.0.0.1:6379> zadd a 1 4

(integer) 1

127.0.0.1:6379> zrangebyscore a 0 10

1) "2"

2) "1"

3) "3"

4) "4"

redis 列表是簡單的字串列表,按照插入順序排序。你可以新增乙個元素到列表的頭部(左邊)或者尾部(右邊)。

命令:lpush

lrange

127.0.0.1:6379> lpush xu a

(integer) 1

127.0.0.1:6379> lpush xu b

(integer) 2

127.0.0.1:6379> lpush xu c

(integer) 3

127.0.0.1:6379> lpush xu d

(integer) 4

127.0.0.1:6379> lpush xu e

(integer) 5

127.0.0.1:6379> lpush xu f

(integer) 6

127.0.0.1:6379> lrange xu 0 2

1) "f"

2) "e"

3) "d"

127.0.0.1:6379> lrange xu 0 10

1) "f"

2) "e"

3) "d"

4) "c"

5) "b"

6) "a"

127.0.0.1:6379>

redis事務的坑

最先參考文章 後來發現 redis事務不能使用 transactional標記,刪除方法無法工作,刪不掉。set操作,儲存能生效。嚴重影響了資料一致性。解決方案 redistemplatetrans.multi long removenumber removeset redisgroupkey,re...

Redis 快取的坑

這幾天一直在做redis 快取,中間遇到很多錯誤,把網上的部落格都看一大半了,甚至開始懷疑是springboot 框架有問題出毛病了 對,就是他的錯,誰讓他報我的錯?他先動得手 後來發現是自己太蠢了,寫下來記錄記錄這個差點讓我放棄人生的蠢動作。redis快取的序列化器 網上看了很多的關於序列化的部落...

小小甜菜keras爬坑記

faster rcnn模型 lenet,alenet,vggnet,googlenet 好資料分享 雖然github上有大量開源專案,但是在實際研究過程中感覺涉及的框架種類太多,環境也容易產生衝突。雖然使用docker暫時解決這一問題,但是為了避免淪為搬磚工和為了成為大神的美好願景,我下定決心從基礎...