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