淺談redis常用存值方式
redis常用的操作:k-v,list,set(set有一般set,hset,zset),在詳細介紹這些之前先介紹幾種常用的redis命令,希望能有所幫助:
1.前言
1.auth + pwd 驗證進入redis命令
2.flushall(情況整個redis),謹慎使用該命令[類似資料庫的drop database]
3.fushdb 清空當前選中庫的所有redis命令[類似資料庫的drop table]
4.select 選擇將要操作的庫
2.k-v存值方式(我用的treeNMS-1.5.0工具)
1.存值:set(key,value) 預設是永不過期
2.取值:get(key)
3.正則取值:keys("*") (*代表正則表示式)
4. 設定過期時間:expire(key,livetime); (livetime最好寫成全域性變數這樣方便統一)
5. 刪除單個:del(key)
3.list存值方式
該處list就是一個雙向連結串列,用於訊息佇列之類操作1.存值 lpush("key","data") data一般為一個json串.追加到列隊左邊(頭)
rpush(key,data) 追加到列隊右邊(尾)
2.取值 lpop(key) 取出連結串列的左邊第一個元素,並且刪除
rpop(key) 取出連結串列右邊第一個元素,並且刪除
lrange(key,begin,end) 取出start到end的元素,end=-1時為取出後面所有
lget(key,index) 取出該list某個位置的值(index為從0開始)
3.特定存值
lset(key,index,data) 設定某個位置的值為data
4.長度判斷: llen(key) 返回某個列表長度
lsize 返回列表key長度
4.set存值
1.存值: sadd(key,value) 存入set,key沒有則成功,有則返回失敗
2.刪除: srem(key,value) 刪除set中的key
3.判斷是否存值某個值:
sIsmember(key,value) 結果返回bool型別值
4.大小判斷:
scard(key) 返回該set的大小
5.hash存值
1.存值:hset(key,v1,v2) 如果v1存在則替換,不存在則新增
多存:hmset(key,array('name' => 'dom', 'sex' => 1))
2.取值:hget(key,v1) 取值
多取:hmget(key,array('v1', 'vv'))
取key: hKeys(key) 獲取該key下的所有元素
3.獲取長度:hlen(key) 返回該hash集合長度
4.刪除:hdel(key,v1) 刪除hash集合中的某個值
5.判斷是否存在:hExists(key,v1) 判斷集合中是否存在該值
6.zset存值
zset對比hash,存值類似,但是zset比hash多了自動排序功能,zset可以根據v1自動排序,預設為順序排序
常用於做排行榜
1.存值:zadd(key,v1,v2) v1作為排序標準,v2固定引數
2.取值:
倒序:ZREVRANGE(key,start,end,WITHSCORES) end=-1則代表所有
順序:ZRANGE(key,start,end,WITHSCORES) withscores: 是否輸出socre的值
特定取值:zscore(key,v2) 取出v2的score
3.獲取長度:zcard(key) 返回該key的長度
4.獲取排序號:zrank(key,v2) 獲取v2的排序號(順序)
5.刪除:zrem(key,v2) 根據v2刪除
6.給指定元素加分:zincrby(key,incrby,v2)
有些不常用的命令沒有寫出來,歡迎留言指正博文中存在的問題,或交流學習中遇到的問題!