Redis五大資料型別 key常用方法

2021-09-29 23:33:36 字數 3225 閱讀 4327

keys * 列出所有的key

exists key_name 判斷key_name 是否存在

move key db 移動到指定庫

eg:move song 1		//將 song 移動到資料庫 1
expire key 為給定的key設定過期時間

ttl key 檢視key還有多少秒過期,-1永不過期,-2已過期

type key 檢視key的型別

del key 存在時刪除key

persist key 移除key的過期時間,key持久化保持

incr/decr/incrby/decrby 只有數字才能加減 自加每次加1

getrange/setrange 獲取指定區間,類似between and

eg:getrange key6 0 -1 		//從0 -1 表示全部   -1最後乙個字元,-2表示倒數第二個
eg:get key4 

abcd1234

setrange key4 1 ***

a***1234 //設定區間,從0開始

setex 設定鍵秒值

setex key1 12 hello		//設定key1 為hello 12 秒
setnx 只有在key不存在時設定key值

eg:

setnx key1 hello

1setnx key1 hello2

0

mset/mget/msetnx 同時設定乙個或多個鍵值對

eg:mset key1 aa key2 bb key3 cc

mget key1 key2 key3

1)"aa"

2)"bb"

3)"cc"

msetnx 必須所有的key都不存在才能設定

getset 先get再set

eg:

get k1

"hello"

getset k1 abc

"hello"

get k1

"abc"

lpush/rpush/lrange

eg: lpush list1 "foo"

lpush list1 "bar"

lrange list1 0 -1

1) "bar"

2) "foo"

lpop/rpop 彈出 佇列裡就沒了

lindex/llen

lrem key 刪除n個value

eg:lrem list3 2 v1 		//刪除list3中的2個v1鍵
ltrim key

eg:ltrim list1 3 5 		//擷取index從3到5
rpoplpush list1 list2

lset key index value

linsert key before/after 值

eg:linsert list3 before 3 oracle 		//在list3 的3(鍵)之前加oracle
sadd/smembers/sismember 新增(重複會失敗)/列印全部/判斷存在

eg:sismember set1 0 		//判斷0是否存在於set1 不存在0/存在1
scard 獲取元素個數

srem key value

eg:srem set1 v1 v2 v3
srandmember key n

spop 隨機彈乙個數出來

smove key1 key2 a //將key1裡的值賦給key2

數學類集合

sdiff 差集 set1裡有的set2裡沒有的

sinter 交集

sunion 並集

kv模式不變,但v是乙個鍵值對,存物件 (k,(k,v))

hset/hget/hmset/hmget/hgetall/hdel //獲取所有的鍵,值/刪除存在的返回1

hlen/hexists(同之前)

hkeys/hvals 獲取所有的鍵/值

hincrby/hincrbyfloat 增加整數/小數

eg:hincrby hash k1 3	給hash的k1的值增加3
hsetnx 不存在賦值,存在無效

基於set,多加個score

zadd/zrange/zrevrange(逆序)

eg:zadd zset01 60 v1 70 v2 80 v3	 (注意此時數字不是value,是score)

zrange zset01 0 -1

1)"v1"

2)"v2"

3)"v3"

zrange zset01 0 -1 withscores

1)"v1"

2)"60"

3)"v2"

4)"70"

5)"v3"

6)"80"

3.zrangebyscore/zrevrangebyscore(逆序)

eg:	zrangebyscore zset01 60 90	  	60<=值<=90

zrangebyscore zset01 60 (90 60<=值<90

zrangebyscore zset01 (60 (90 60《值<90

zrangebyscore zset01 60 90 limit 2 2 60<=值<=90,從2開始截2個 (同mysql)

注意:zrevrangebyscore zset01 90 60      90>=值》=60
zrem 刪除

zcard/zcount/zrank

eg:	zcard zset01			統計個數

zcount zset01 60 80 統計60-80的個數

zrank zset01 v4 得到下標

zscore zset01 v4 得到對應的score

zrevrank zset01 v4 逆序得到下標

自己總結,僅供參考。

redis五大資料型別

redis支援五種資料型別 string 字串 hash 雜湊 list 列表 set 集合 及zset sorted set 有序集合 127.0 0.1 6379 set name yzl ok127.0 0.1 6379 get name yzl 127.0 0.1 6379 hmset my...

redis五大資料型別

string是redis最基本的型別 string型別是二進位制安全的,可以包含任何資料,或者序列化的物件 string型別是redis最基本的資料型別,乙個redis中字串value最多可以是512mhash是乙個鍵值對集合 hash是乙個string型別的field和value的對映表,hash...

redis五大資料型別

string是redis最基本的型別 string型別是二進位制安全的,可以包含任何資料,或者序列化的物件 string型別是redis最基本的資料型別,乙個redis中字串value最多可以是512mhash是乙個鍵值對集合 hash是乙個string型別的field和value的對映表,hash...