redis資料類型操作

來源:互聯網
上載者:User

標籤:redis

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 [刪除給定區間的元素]


本文出自 “逆天” 部落格,請務必保留此出處http://xxzjzsj.blog.51cto.com/3052058/1629163

redis資料類型操作

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.