天天看點

redis五種基本資料類型

1、string類:一個key對應一個value(key:value)。string類是二進制安全,可以包含任何資料(例如:圖檔、音樂)。

2、hash類:string類型field和value的映射表。特别适合存儲對象。

3、list類:連結清單資料結構,主要功能push、pop、擷取範圍所有值。list類每個子元素都是string類型的雙向連結清單。可以通過push、pop操作從連結清單頭部或者尾部增加删除元素。這樣子list既可以作為棧,也可以作為隊列。

4、set類:set集合中元素是唯一不能重複,而且是無順序。差集、交集、并集操作。

5、zset類:zset類是set集合的擴充,zset集合中元素是唯一不能重複,但是有順序。zset類在set類基礎上增加了一個順序的屬性

1.1、string類操作指令

set key value

setnx key value(nx代表not exist,不存在才增加鍵值)

setex (ex代表expire有效期,以時間秒為機關) 

mset:一次性設定多鍵值

msetnx:(nx代表not exist,不存在才增加鍵值)

get key:擷取值

mget:批量擷取值

incr:對key的值做加操作(+1)

incrby:對key的值做指定值加操作(+x)

decr:對key的值做加操作(-1)

decrby:對key的值做指定值加操作(-x)

strlen:取指定key的value值長度

2.1、hash類操作指令

hset: 設定hash表。例如:hset hashtable field_1 value_1

hget:擷取hash表

hsetnx: (nx代表not exist,hash表不存在才增加鍵值)

hmset:設定hash表多字段和值。例如:hset hashtable field_1 value_1 field_2 value_2

hincrby:設定hash表某字段值增加。例如:hincrby hashtable field 8

hexists:檢查field是否存在

hdel:删除hash表字段

hkey:傳回hash表的所有field字段

hvals:傳回hash表的所有value值

hlen:統計hash表field個數

3.1、list類

lpush:往list頭部添加元素。例如:lpush mylist "hello"

rpush:往list尾部添加元素。例如:lpush mylist "hello"

lrange:查詢list元素。例如查詢list全部元素:lrange mylist 0 -1

lset:設定指定下标的值

lrem:從list删除元素(rem:remove意思)

ltrim:保留知道範圍内的元素

lpop:從list頭部删除元素,并傳回删除元素

rpop:從list尾部删除元素,并傳回删除元素

rpoplpush:從第一個list的尾部移除元素,并添加第二個list的頭部

lindex:傳回list指定index元素 

llen:傳回list元素個數

4.1、set類

sadd:向set集合添加元素。例如:sadd myset "hello"

smembers:查詢集合的成員

srem:删除集合的元素

spop:随機删除一個元素

sdiff:兩個集合的查集

sdiff:兩個集合差集,并将差集儲存到另一個集合。 例如myset1和myset2差集儲存到myset3:sdiffstore myset3 myset1 myset2

sinter:傳回兩集合的交集

sinterstore:兩個集合交集,并将交集儲存到另一個集合

sunion:傳回兩集合的并集

sunionstore:兩個集合并集,并将并集儲存到另一個集合

smove:将元素從一個集合移動到另一個集合。例如:smove myset1 myset2 "hello"

sismember:檢視元素是否是集合元素

scard:檢視元素個數

5.1、zset類

zadd:向set集合添加元素,添加元素時兩個值(元素值、順序值)。例如:zadd myset 1 "one"

zrange:查詢集合元素。例如:zrange myset 0 -1 withscores

zrem:删除集合元素

zincrby:增加指定順序值

zrank:依據索引排序

zrevrank:依據索引反序排序

zrevrange:依據索引降序排序

zrangebystore:傳回集合中score在給定區間的元素,順序排序。例如2-3是順序區間:zrangebystore myset 2 3 withscores

zcount:傳回集合中score在給定區間的數量。例如2-3是順序區間:zcount myset 2 3 withscores