7.數據類型
set name zsj
get name
setnx name :不會覆蓋原來的值,如果存在不更新,如果不存在擇設置
setex:設置並指定有效期
setex haircolor 10 red :設置haircolor的有效時間爲10秒
沒有設置有效期代表永久有效
setrange name 6 gmail.com:從第六個字符開始替換成gmail.com【替換同等長度】
mset key1 valus1 key2 value2:同時設置兩個值
msetnx
getset:獲取舊值並設置新值
getset key6 30
getrange:獲取子字符串
getrange name 0 5:返回name的第0個到第5個字符串之間的
mget:批量獲取
incr key:自增一次
incrby key 6:每次增6,不存在key會默認設置爲0
decr:自減
decrby
append key value:給key追加value,返回最終字符串長度
strlen:獲取鍵的字符串長度【strlen key】
hset key property value
hset user:001 name zsj
hget user:001 name
hsetnx
hmset user:001 name hello age 10
hmget user:001 name age
hincrby user:001 age 5
hexist user:001 age:判斷age字段是否存在
hlen user:001 :返回hash中的鍵的數量
hdel user:001 age:刪除hash對象中的age
hkeys user:001:返回hash對象中的所有字段
hvals user:001:返回hash對象中所有字段的value值
hgetall user:001:獲取某個hash對象中所有的字段和其對應的值
8.lists類型與操作[push/pop]【本身是爲棧的方式放入數據】
redis中lists爲雙向鏈表,都可以從頭和尾放數據和取數據,既可以作爲棧也可以作爲隊列
lpush mylist "hello" #從頭部壓入一個元素,返回元素的個數
lrange mylist 0 -1 #從第一個元素一直到尾的第一個元素
rpush list2 "zsj" #從尾部壓入元素
linsert mylist before "hello" "world" :在hello前面壓入一個world元素【注:從尾到頭的方向】
lset mylist 0 "hello":給第0個位置的元素重新賦值
lrem list 1 "hello":從list中刪除1個爲hello的元素,返回成功刪除的個數【從key對應的list中刪除n個和value相同的元素】
ltrim保留key的值的範圍之內的數據
ltrim list 1 -1 :保留從1開始到最後一個元素
lpop:從頭部刪除元素,並返回刪除元素
rpoplpush:從第一個list的尾部移除元素並添加到第二個list的頭部
rpoplpush list1 list2
lindex:返回名稱爲key的list中index位置的元素
lindex list 1
llen返回list的大小
9.set類型
sadd mysset "hello"
smembers myset #查看元素
srem myset "hello" #刪除元素
spop 隨機返回並刪除名稱爲key的set當中的某一個元素
spop myset
sdiff set1 set2 :[返回所有給定key與第一個key的差集]返回set1中在set2中所沒有的
sdiffstore set3 set1 set2:將set1與set2的差集存儲到set3中
sinter set1 set2 :取兩個集合中的交集
sinterstore set3 set1 set2 :將set1,set2中的交集存儲在set3中
sunion set1 set2 :取set1,set2的並集
sunionstore set3 set1 set2
smove [從第一個key對應的set中移除member並添加到第二個對應的set中]
smove set1 set2 value
scard set :返回集合中元素的個數
sismember:測試某個元素是否爲set中的元素
sismember set value :測試value是否set中的元素
srandmember:隨機返回set中的某一個元素,但不刪除
srandmember set
10 sorted sets有序集合
zadd 向名稱爲key的zset中添加元素member,score用於排序。如果該元素存在,則更新其順序
zadd myzset 1 "one"
zadd myzset 2 "two"
zadd myzset 3 "two" :此時元素two不會更新進去,但是排序會更新爲3
zrange myzset 0 -1 withscores ##withscores的目的是輸出順序號
zrem 刪除名稱爲key的zset中的元素member
zrem set value
zincrby 對set中的順序指定增加或減少
zincrby myset 2 "one" :將one的順序值增加2,如果one不存在,則添加此元素
zrank 返回zset中元素的索引,從小到大排序
zrank myset "two" :返回two元素的索引值
zrevrank 從大到小排序
zrevrange 倒序查看zset中的member及排序情況
zrevrange myzset 0 -1 withscores
zrangebyscore myzset 2 3 withscores 獲取2到3的所有元素
zcount myzset 2 4 :統計2到4之間的元素的個數
zcard myzset :返回集合中所有元素的個數
zremrangebyrank:刪除某個區間的元素並返回剩餘元素【根據索引刪除】
zremrangebyrank myzset 1 1 [從第一個位置開始刪除1到1之間的元素]
zremrangebyscore myzset 1 2 [刪除給定區間的元素]