下面這篇文章主要介紹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,如需轉載請自行聯系原作者