redis鍵值對的資料型別和操作

2021-10-24 02:14:15 字數 3687 閱讀 2697

對key的增刪改查

redis是以key和value鍵值對的型別

set key value [ex nx xx]

ex 就是過期時間(秒)

nx 不存在則建立

xx 存在則建立 根據key得到value值

setnx 不存在則建立

setex 設定過期時間(秒)

setex key value 10

(過期時間)

mset 批量新增

met key1 value1 key2 value2 ...

mget 批量獲取

get key1 key2 key3 ...

getset key value 設定新值返回舊值

incr key 對key的值進行加一(只對整型)

decr key 對key的值進行減一(只對整型)

incrby key 5 指定增加值(5)

decrby key 5 指定減少值(5)

keys d*

//列出key名是以d開頭的key

keys d???

//列出key名以d開頭的四位的key

rename key new_key //重定義key名

flushdb //清空當前庫的key

flushall //清空所有庫的key

getrange key 0

5 對key進行切片操作,返回下標0到5的(0 到 -

1 表示所有)

setrange key 5 value 將key中的從下標為5開始替換,替換相應個數的值

根據不同的value型別進行建立鍵值對

value的資料型別有:

1、string

2、hash

3、list

4、set

5、sroted set

hash:雜湊值

key可以繫結一些關聯性較強的資料如:key:

設定值:

hset key field value

如: hset user name tang //返回值為新增的個數

hset user home changsha

hget key

如: hget user name //獲取key(user)的name的值

hmget key field1 field2 ...

//獲取多個

hgetall key //獲取key的所有值

hmset key field1 vaule1 field2 value2 //插入多個

hkeys key //獲取key的所有field

hvals key //獲取所有的value值

hdel key field //刪除key中的乙個field

hlen key //獲取key中有多少鍵值對

hexists key field

list:列表

lpush key value value     //返回長度、

lpushx key vaule value //向列表中追加值(key存在時才會成功),返回長度

llen key //獲取列表長度

lrange key start end //如: lrange key 0 -1 (獲取列表內容,以下標)

linset key before 參照 new_value //插入

lset key 0 new_value //更新下標為0 的value值

lrem key 2 ***x //移除最前面的2個相同的***(lrem為移除相同的)

lpop key //刪除並返回列表的第乙個元素

lindex key 2

//根據下標取出對應的元素

set;類似python中的set(字典),不允許重複的元素

sadd key value value ...

//新增元素

scard key //獲取長度

smembers key //列出所有的元素(無序不重複)

sinter key1 key1 //檢視兩個key的交集(兩個key相同的)

sdiff key1 key2 //檢視兩個key的差集(兩個key不同的)

sunion key1 key2 //檢視兩個key的並集

sinterstore key1 key2 //

sismember key member //判斷member是否時key中的元素

smove key1 key2 member //將key1的memeber移動到key2中,返回移動的member個數

spop key //隨機刪除key中的乙個元素

srem key member //指定刪除元素member

srandmember key //隨機獲取乙個元素

sorted set:按照score進行公升序排序

zadd key [nx|xx]

[ch]

[incr] score member [score member ...

]zadd key score1 member1 score2 member2 ...

//建立

zadd key nx score member //當不存在則建立

zadd key xx score member //當存在則建立

zadd key xx incr score member //當存在則在原來的基礎上增加score

zcard key //檢視長度

zrange key 0-1

//返回key下標0到-1的值

zrevrange key 0

1 withscore //取出score最大的兩個

zrangebyscore key 100

400//公升序取出socer的值在100到400之間的member

zrevrangebyscore key 400

100//降序取出socer的值在100到400之間的member

zrangebyscore key (

200 inf withscore //公升序取出score大於200的member

zrevrangebyscore key (200 inf withscore //降序取出score小於200的member

zrem key member //刪除指定member

zremrangebyscore key 100

200//刪除score在100到200之間的member

zinterstore key3 2 key1 key2 //key3為目標,將key1和key2 的交集存到key3

zunionstore key3 2 key1 key2 //將並集存放到key3

Redis的資料型別

redis支援五種資料型別是string 字串 hash 雜湊 list 列表 set 集合 和zset sortedset 有序集合 string是redis最基本的型別,乙個key對應乙個value string型別是二進位制安全的,意思是redis的string可以包含任何資料,比如jpg或者...

Redis的資料型別

前面說過,redis的一大特性是支援豐富的資料型別,這為更多的應用場景提供了可能。redis有五種資料型別,包括string,list,set,sorted set和hash,注意,redis的資料型別不支援巢狀。下面學習一下這五種資料型別的特點和簡單應用。string 資料結構是簡單的 key v...

Redis的資料型別

redis是乙個開源的使用ansi c語言編寫 遵守bsd協議 支援網路 可基於記憶體亦可持久化的日誌型 key value資料庫,並提供多種語言的api,它通常被稱為資料結構伺服器,支援五種資料型別 string 字串 hash 雜湊 list 列表 set 集合 和zset sorted set...