redis的入門篇---五種數據類型及基本操作
阿新 • • 發佈:2018-04-05
man incrby lis index gets key存在 class als 個數
查看所有的key
keys *
清空所有的key
flushall
檢查key是否存在
exists key
設置已存在的key的時長
expire key 10 //設置key為10s
查看key還剩多少時長
ttl key //-1是永久 -2是不存在
查看key的類型
type key
隨機取出一個key
randomkey
重命名key
rename key newkey //如果key存在 直接覆蓋
renamenx key newkey //如果key存在 則失敗 返回0
設置一定時間的key
setex key seconds val //key 時間 val
psetex key seconds val //和上面的功能一樣 只不過多加一個p 區別是上面的時間是秒級別的 這個是毫秒級別的
字符串類型:
得到指定範圍的字符串
getrange key 0 2 //閉合區間 取三個長度的字符串
得到舊的值並賦予新的值
getset key newval //比如說get a 得到A //然後getset a AA 還是得到A //但此時get a 得到的是AA
在字符串後面追加字符串
append key append //意思是在key的val後面加上append字符串
hash哈希(其實就是一個Map<String,Map<String,String>>格式的數據結構)
設置值
hset map name liuzhonghua //成功1
檢驗是否存在
hexists map name //存在1 不存在0
得到值
hget map name //返回liuzhonghua
得到key所有的值
hgetall map //返回 下面的這中格式 key val key valname liuzhonghua age 23 sex man
得到值裏面所有的key 和所對應的val
hkeys map //返回 name age sex
hvals map
liuzhonghua
23
man
list列表
lpush list 1 2 3 4 5 6 //lpush 特點是最後放進去的總是在第一位
取一定範圍的list值和特定索引的值
lrange list 0 2 //得到1 2 3 lindex list 3 //得到4
移除最後一個元素和第一個元素
lpop list //移除第一個元素 6 返回6 rpop list //移除最後一個元素 1 返回1
set列表(特點:無序,不保證你放進去的和得到的順序一致,值不重復)
增加
sadd set a b c d //key是set val 是 a b c d
得到這個集合的數量
scard set //返回4
查看key的val
smembers set //a b c d
兩個集合的差集
sdiff set1 set2 //意思是set1 裏面的值減去 set2裏面的值 得到set1裏面的值
兩個集合的交集
sinter set1 set2
兩個集合的並集
sunion set1 set2
返回指定數量的隨機數
srandmember set1 2 //隨機返回set1的兩個值
判斷是否是集合的元素
sismember set1 a //如果是 返回1 否則返回0
移除指定的val
srem set1 a b //移除set1集合裏面的a和b 返回成功的個數 2
隨機移除set裏面的val 並返回移除的值
spop set1 //隨機返回一個值
zset (有序集合,不重復)
增加(還得必須這樣寫 真操蛋 看不懂 後面都是一對一對的 艹,,,我懂了,100這樣的數值是必須寫的,因為是靠他們排序的,我們平常獲取的值都是abc
這樣的,切記)
zadd zset 100 a 200 b 300 c // key是zset a的分數是100 b的分數是200 c的分數是300
查看有幾個元素
zcard zset //返回3
查看指定的某個值(還得必須這樣寫 )
zscore zset a //返回100
返回符合指定區間的數量
zcount zset 0 200 //返回2 閉合區間 就是說a 和 b 他倆所對應的值在0和200之間 符合要求
查看索引
zrank zset a //0 zrank zset b //1 zrank zset c //2
增加值
zincrby zset 1000 a //意思是讓a的值增加1000 當然a的順序也會改變,因為zset是有序的 是根據他所對應的值來排序的
獲取指定的元素
zrange zset 0 100 //意思是獲取zset的前100個元素 a b c
如果想獲取一對一對的 比如說 a 100 b 200 c 300
zrange zset 0 100 withscores
redis的入門篇---五種數據類型及基本操作