1. 程式人生 > >二:Redis入門步驟(五大資料型別常用操作)

二:Redis入門步驟(五大資料型別常用操作)

1. 開啟一個 cmd 視窗 使用cd命令切換目錄到 C:\redis 執行 redis-server.exe redis.windows.conf

2.啟動:

$ redis-server

3.檢視是否啟動:

$ redis-cli

4.測試速度

redis-benchmark

5.檢視單個庫的大小

dbsize

6.把當前所在庫的資料羅列出來

keys*

7.移動到2號庫

select 2

8.把所有庫的資料刪除

flushall

9.判斷庫中是否存在鍵為k1的資料

existis k1

10.將鍵為k1的資料移動到2號庫中

move k1 2

11.把當前庫的資料刪除

flushdb

12.設定k1過期時間

expire k1 10

13.檢視k1過期時間-1為永不過期,-2為已過期

ttl k1

五大資料型別:

String:append,strlen,incr,decr,incrby,decrby,getrange,setrange,setex,setnx,mset,mget,msetnx

1.對k1拼接字串:append  k1 123456

2.檢視k1當前字串數:strlen k1

3.incr,decr,incrby,decrby   ---只能是數字

incr k1   //k1的值逐漸加1

decr k1  //k1的值逐漸減1

incrby k1 2  //k1逐漸加2

decrby k1 2 //k1逐漸減2

4.getrange,setrange

getrange k1 0 -1  //相當於getrange k1  讀取所有

getrange k1 0 3  //讀取k1的值中0到3的字串   包括3

setrange k1 0  xxx //設定k1從0字元開始3位的值

5.setex設定過期時間   setnx如果不存在建立

setex k1 10 //設定ki1 過期時間10秒

setnx k11 qwer  //如果k11不存在則建立,存在則無法建立成功

6.mset  合併,getset合併取, msetnx不存在則合併,只要存在一個就失效

mset k1 v1 k2 v2 k3 v3  //k1  k2  k3合併

mget k1 k2 k3 //取上述設定的

msetnx  k5 v5 k6 v6  //如果k5和k6都沒有的話可以建立成功,只要k5或者k6有一個存在則無法建立

List:lpush,rpush,lrange,lpop,rpop,lindex,llen,lrem,trim,rpoplpush,lset,linsert

lpush/rpush/lrange:

lpush list01 1 2 3 4 5 //先壓的在低下,顯示的時候為5 4 3 2 1  rpush則相反

lrange:lrange list01 0 -1 //遍歷list01連結串列的所有元素

lpop/rpop: lpop list01 //彈出list01最上面元素(索引為0的元素),rpop則為彈出最下面元素

lindex: lindex list01 2 //取list01連結串列索引為2的元素 為3

llen: llen list01 //連結串列長度

lrem key:lrem list01 1 2 //移除連結串列list01中值為2的元素,移除1個

ltrim key: ltrim list01 0 2 //擷取連結串列元素從索引0到2

rpoplpush:rpoplpush list01 list02  //將list01最下面元素(索引值最大元素)移到list02連結串列的最頂層(索引值最小)

lset  key index value:lset list01 0 2//設定list01索引為0的值為2

linsert key before/after

Set:sadd,smembers,sismember,scard,srem,srandmember,spop,smove,sdiff,sinter,sunion

sadd/smembers/sismember:

sadd set01 1 2 3 //往set中新增值

smsmbers set01 //檢視set01中的所有值

sismember set01 1 //判斷set01中1的值是否存在

scard:scard set01 //檢視set01裡面的元素個數

srem key value: srem set01 1 //移除set01中值為1的元素

srandmember key: srandmember set01 //隨機取出set01中的一個元素

spop key:spop set01 //隨機彈出set01中的一個元素

smove:smove set01 set02 2  //將set01中的值為2的元素新增到set02中

sdiff: sdiff set01 set02 //取兩個集合的差值,如果set01為 1 2 3  set02為2 4 5 6 則結果為1 3 

sinter:sinter set01 set02 //取兩個集合的交集

sunion:sunion set01 set02//取兩個集合的並集

Hash:hset,hget,hmset,hmget,hgetall,hdel,hlen,hexists,hkeys,hvals,hincrby,hincrbyfloat,hsetnx

hset:hset user id 1 //建立user物件,id為1

hget:hget user id //獲取user物件的id

hmset:hmset user id 1 name zhf age 18 //建立user物件,新增屬性id,name,age

hmget:hmget user id name age //獲取user物件的id,name,age屬性

hgetall:hgetall user //獲取user物件的所有屬性

hdel:hdel user id//刪除user物件的id屬性

hlen:hlen user//判斷user物件有多少屬性

hexists:hexists user id  //判斷user物件是否有id屬性

hkeys:hkeys user //獲取user物件的屬性集

hvals:hvals user //獲取user物件的屬性值集

hincrby:hincrby user id 1 //user物件的id屬性加1

hincybyfloat:hincrby user id 0.1 //user物件的id屬性按照浮點數型別增加

hsetnx:hsetnx user gender 男 // 對user物件新增屬性,如果屬性存在則無法新增,不存在則可以新增

Zset:zadd,zrange,zrem,zcard/zcount/zrank/zscore,zrevrank,zrevrange,zrevrangebyscore

zadd:zadd salary 3000 peter 3500 tom 4000 nick//往有序列表新增資料(不可新增重複資料)

zrange:zrange salary 0 -1 withscopes //顯示所有成員和薪水

zrem:zrem salary nick // 刪除成員nick

zrank:zrank salary nick //顯示nick的薪水排名,越低則排名越低

zscore:zscore salary nick //顯示nick的薪水

zrevrank:zrevrank salary nick //顯示nick的薪水排名,越低排名越高

zrevrange:zrevrange salary 0 -1 //顯示所有成員按照正序排列

zrevrangebyscore:zrevrangebyscore salary 4000 3500 //薪水在3500到4000的正序排列