天天看點

Redis常用指令

下面這篇文章主要介紹redis常用指令

一、Redis數值常用指令操作

1、String類型常用操作

[root@master ~]# redis-cli -a 123456

127.0.0.1:6379> set key1 123

OK

127.0.0.1:6379> get key1

"123"

127.0.0.1:6379> set key1 456         //一個key對應一個value,多次指派,會覆寫前面的value

"456"

127.0.0.1:6379>

127.0.0.1:6379> setnx key1 aaa

(integer) 0

127.0.0.1:6379> setnx key2 aaa

(integer) 1

127.0.0.1:6379> get key2

"aaa"

說明:setnx如果key存在,則傳回0,不存在會直接建立這個key。

127.0.0.1:6379> setex key3 100 bbb          //給key設定過期時間100秒

127.0.0.1:6379> get key3

"bbb"

127.0.0.1:6379> ttl key3                           //檢視剩餘生存時間

(integer) 89

127.0.0.1:6379> ttl key3

(integer) 84

(integer) 70

127.0.0.1:6379> mset key1 a key2 b key3 c      //批量建立

127.0.0.1:6379> mget key1 key2 key3

1) "a"

2) "b"

3) "c"

2、Hash類型常用操作

127.0.0.1:6379> hset hash1 name tpp            //建立hash

127.0.0.1:6379> hset hash1 age 25

127.0.0.1:6379> hset hash1 job it

127.0.0.1:6379> hgetall hash1

1) "name"

2) "tpp"

3) "age"

4) "25"

5) "job"

6) "it"

127.0.0.1:6379> hget hash1 name

"tpp"

127.0.0.1:6379> hmset hash2 name xiaoming age 10 job student     //批量建立鍵值對

127.0.0.1:6379> hgetall hash2

2) "xiaoming"

4) "10"

6) "student"

127.0.0.1:6379> hmget hash2 name age job

1) "xiaoming"

2) "10"

3) "student"

127.0.0.1:6379> hdel hash2 job           //删除指定的filed

127.0.0.1:6379> hkeys hash2               //列印所有的key

2) "age"

127.0.0.1:6379> hvals hash2                //列印所有的values

127.0.0.1:6379> hlen hash2                 //檢視hash有幾個filed

(integer) 2

3、List類型常用操作

127.0.0.1:6379> lpush list1 aaa            //從左側壓入一個元素

127.0.0.1:6379> lpush list1 bbb

127.0.0.1:6379> lpush list1 ccc

(integer) 3

127.0.0.1:6379> lrange list1 0 -1          //0為頭,-1為尾

1) "ccc"

2) "bbb"

3) "aaa"

127.0.0.1:6379> lpop list1                    //從左側取出

"ccc"

127.0.0.1:6379> lrange list1 0 -1

1) "bbb"

2) "aaa"

127.0.0.1:6379> rpush list1 1               //從右側壓入一個元素

127.0.0.1:6379> rpush list1 2

(integer) 4

127.0.0.1:6379> rpush list1 3

(integer) 5

3) "1"

4) "2"

5) "3"

127.0.0.1:6379> rpop list1                     //從右側取出

"3"

127.0.0.1:6379> linsert list1 before aaa ccc      //在元素aaa前面插入一個元素ccc

2) "ccc"

4) "1"

5) "2"

127.0.0.1:6379> lset list1 4 ddd                       //把第五個元素修改為ddd

5) "ddd"

127.0.0.1:6379> lindex list1 2                          //檢視第3個元素

127.0.0.1:6379> llen list1                                //檢視連結清單中有幾個元素

4、Set類型常用操作

127.0.0.1:6379> sadd set1 a                           //向集合set1中放入元素

127.0.0.1:6379> sadd set1 b

127.0.0.1:6379> sadd set1 c

127.0.0.1:6379> sadd set1 1

127.0.0.1:6379> sadd set1 2

127.0.0.1:6379> sadd set1 3

127.0.0.1:6379> smembers set1                       //檢視集合中的所有元素

1) "1"

2) "c"

3) "a"

6) "b"

127.0.0.1:6379> srem set1 c                            //删除元素c

127.0.0.1:6379> smembers set1

2) "2"

3) "3"

5) "b"

127.0.0.1:6379> spop set1                              //随機取出一個元素,删除

"a"

127.0.0.1:6379> spop set1

"1"

1) "2"

2) "3"

3) "b"

127.0.0.1:6379> sadd set2 2

127.0.0.1:6379> sadd set2 a

127.0.0.1:6379> sadd set2 b

127.0.0.1:6379> smembers set2

127.0.0.1:6379> sdiff set1 set2                           //求差集,以set1為标準

1) "3"

127.0.0.1:6379> sdiff set2 set1                           //求差集,以set2為标準

127.0.0.1:6379> sdiffstore set3 set1 set2            //求差集并存儲到 set3

127.0.0.1:6379> smembers set3

127.0.0.1:6379> sinter set1 set2                         //求交集

127.0.0.1:6379> sinterstore set4 set1 set2          //求交集并存儲到 set4

127.0.0.1:6379> smembers set4

127.0.0.1:6379> sunion set1 set2                       //求并集

4) "a"

127.0.0.1:6379> sunionstore set5 set1 set2       //求并集并存儲到 set5

127.0.0.1:6379> smembers set5

127.0.0.1:6379> sismember set5 2                     //判斷一個元素是否屬于一個集合,屬于傳回1

127.0.0.1:6379> sismember set5 c                     //不屬于傳回0

127.0.0.1:6379> srandmember set2                  //随機取出一個元素,但不删除

127.0.0.1:6379> srandmember set2

"2"

"b"

5、Zset類型常用操作

127.0.0.1:6379> zadd zset1 1 aaa                           //建立有序集合

127.0.0.1:6379> zadd zset1 10 bbb

127.0.0.1:6379> zadd zset1 5 ccc

127.0.0.1:6379> zadd zset1 20 ddd

127.0.0.1:6379> zadd zset1 100 eee

127.0.0.1:6379> zrange zset1 0 -1                           //順序顯示所有元素

1) "aaa"

3) "bbb"

4) "ddd"

5) "eee"

127.0.0.1:6379> zrange zset1 0 -1 withscores        //順序顯示所有元素和分值

2) "1"

3) "ccc"

4) "5"

5) "bbb"

6) "10"

7) "ddd"

8) "20"

9) "eee"

10) "100"

127.0.0.1:6379> zrevrange zset1 0 -1                     //反序顯示所有元素

1) "eee"

2) "ddd"

4) "ccc"

127.0.0.1:6379> zrem zset1 aaa                              //删除指定元素

127.0.0.1:6379> zrange zset1 0 -1

3) "ddd"

4) "eee"

127.0.0.1:6379> zrank zset1 ccc                            //按scores正向傳回元素索引值,從0開始

127.0.0.1:6379> zrevrank zset1 ccc                       //按scores反向傳回元素索引值

127.0.0.1:6379> zcard zset1                                  //傳回集合中所有元素的個數

127.0.0.1:6379> zcount zset1 1 10                       //傳回分值範圍1-10的元素個數

127.0.0.1:6379> zrangebyscore zset1 1 10           //傳回分值範圍1-10的元素

127.0.0.1:6379> zrangebyscore zset1 1 10 withscores      //同上,并顯示score值

2) "5"

127.0.0.1:6379> zremrangebyrank zset1 0 2                 //删除索引範圍0-2的元素,按score正向

127.0.0.1:6379> zremrangebyscore zset1 10 100        //删除分值範圍10-100的元素

(empty list or set)

二、Redis鍵值相關操作

127.0.0.1:6379> keys *                       //取出所有key

1) "hash1"

2) "key2"

3) "set1"

4) "key4"

5) "key1"

6) "key3"

7) "zset1"

8) "list1"

127.0.0.1:6379> keys key*                  //模糊比對

1) "key2" 

2) "key4"

3) "key1"

4) "key3"

127.0.0.1:6379> exists set1                //鍵存在,傳回1

127.0.0.1:6379> exists set2                //鍵不存在,傳回0

127.0.0.1:6379> del key1                   //删除一個key,成功傳回1,否則傳回0

127.0.0.1:6379> expire key2 20         //設定key2的剩餘過期時間為20s

127.0.0.1:6379> get key2                

"abcd"

127.0.0.1:6379> ttl key2                    //檢視過期時間,機關為s ,正數為過期時間              

(integer) 8

127.0.0.1:6379> ttl key2                    //傳回-2,表示該鍵不存在

(integer) -2

127.0.0.1:6379> ttl key3                    //傳回-1,表示該鍵沒有設定剩餘過期時間

(integer) -1

127.0.0.1:6379> expire key3 20

127.0.0.1:6379> persist key3             //取消過期時間

127.0.0.1:6379> select 2                    //切換到庫2,預設進入0庫,系統總共16個庫

127.0.0.1:6379[2]> set key5 123

127.0.0.1:6379> move set1 2            //把set1移到庫2中

127.0.0.1:6379> select 2

127.0.0.1:6379[2]> keys *

1) "key5"

2) "set1"

127.0.0.1:6379> keys *

3) "key3"

4) "zset1"

5) "list1"

127.0.0.1:6379> randomkey               //随機傳回一個key

"key4"

127.0.0.1:6379> randomkey

"hash1"

"zset1"

127.0.0.1:6379> rename list1 list2       //把list1重命名為list2

2) "list2"

3) "key4"

5) "zset1"

127.0.0.1:6379> type zset1                  //傳回鍵的類型

zset

127.0.0.1:6379> type hash1

hash

三、Redis服務相關操作

127.0.0.1:6379> dbsize                        //傳回目前資料庫中key的數目

127.0.0.1:6379> info                             //傳回redis資料庫狀态資訊

127.0.0.1:6379> flushdb                       //清空目前資料庫中所有的鍵

127.0.0.1:6379> flushall                        //清空所有資料庫中的所有的鍵

      本文轉自 M四月天 51CTO部落格,原文連結:http://blog.51cto.com/msiyuetian/1719979,如需轉載請自行聯系原作者

下一篇: jquery教程2