码迷,mamicode.com
首页 > 其他好文 > 详细

Redis常用命令

时间:2015-12-06 01:53:12      阅读:158      评论:0      收藏:0      [点我收藏+]

标签:redis


上篇文章主要介绍了redis安装配置:http://msiyuetian.blog.51cto.com/8637744/1717983

下面这篇文章主要介绍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

OK

127.0.0.1:6379> get key1

"456"

127.0.0.1:6379>

127.0.0.1:6379> setnx key1 aaa

(integer) 0

127.0.0.1:6379> get key1

"456"

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秒

OK

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

127.0.0.1:6379> ttl key3

(integer) 70

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

OK

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

(integer) 1

127.0.0.1:6379> hset hash1 age 25

(integer) 1

127.0.0.1:6379> hset hash1 job it

(integer) 1

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     //批量建立键值对

OK

127.0.0.1:6379> hgetall hash2

1) "name"

2) "xiaoming"

3) "age"

4) "10"

5) "job"

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

(integer) 1

127.0.0.1:6379> hgetall hash2

1) "name"

2) "xiaoming"

3) "age"

4) "10"

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

1) "name"

2) "age"

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

1) "xiaoming"

2) "10"

127.0.0.1:6379> hlen hash2                 //查看hash有几个filed

(integer) 2


3、List类型常用操作

127.0.0.1:6379> lpush list1 aaa            //从左侧压入一个元素

(integer) 1

127.0.0.1:6379> lpush list1 bbb

(integer) 2

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               //从右侧压入一个元素

(integer) 3

127.0.0.1:6379> rpush list1 2

(integer) 4

127.0.0.1:6379> rpush list1 3

(integer) 5

127.0.0.1:6379> lrange list1 0 -1

1) "bbb"

2) "aaa"

3) "1"

4) "2"

5) "3"

127.0.0.1:6379> rpop list1                     //从右侧取出

"3"

127.0.0.1:6379> lrange list1 0 -1

1) "bbb"

2) "aaa"

3) "1"

4) "2"

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

(integer) 5

127.0.0.1:6379> lrange list1 0 -1

1) "bbb"

2) "ccc"

3) "aaa"

4) "1"

5) "2"

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

OK

127.0.0.1:6379> lrange list1 0 -1

1) "bbb"

2) "ccc"

3) "aaa"

4) "1"

5) "ddd"

127.0.0.1:6379> lindex list1 2                          //查看第3个元素

"aaa"

127.0.0.1:6379> llen list1                                //查看链表中有几个元素

(integer) 5


4、Set类型常用操作

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

(integer) 1

127.0.0.1:6379> sadd set1 b

(integer) 1

127.0.0.1:6379> sadd set1 c

(integer) 1

127.0.0.1:6379> sadd set1 1

(integer) 1

127.0.0.1:6379> sadd set1 2

(integer) 1

127.0.0.1:6379> sadd set1 3

(integer) 1

127.0.0.1:6379> smembers set1                       //查看集合中的所有元素

1) "1"

2) "c"

3) "a"

4) "2"

5) "3"

6) "b"

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

(integer) 1

127.0.0.1:6379> smembers set1

1) "a"

2) "2"

3) "3"

4) "1"

5) "b"

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

"a"

127.0.0.1:6379> spop set1

"1"

127.0.0.1:6379> smembers set1

1) "2"

2) "3"

3) "b"

127.0.0.1:6379> sadd set2 2

(integer) 1

127.0.0.1:6379> sadd set2 a

(integer) 1

127.0.0.1:6379> sadd set2 b

(integer) 1

127.0.0.1:6379> smembers set2

1) "2"

2) "b"

3) "a"

127.0.0.1:6379> sdiff set1 set2                           //求差集,以set1为标准

1) "3"

127.0.0.1:6379> sdiff set2 set1                           //求差集,以set2为标准

1) "a"

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

(integer) 1

127.0.0.1:6379> smembers set3

1) "3"

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

1) "2"

2) "b"

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

(integer) 2

127.0.0.1:6379> smembers set4

1) "2"

2) "b"

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

1) "2"

2) "b"

3) "3"

4) "a"

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

(integer) 4

127.0.0.1:6379> smembers set5

1) "2"

2) "b"

3) "3"

4) "a"

127.0.0.1:6379> sismember set5 2                     //判断一个元素是否属于一个集合,属于返回1

(integer) 1

127.0.0.1:6379> sismember set5 c                     //不属于返回0

(integer) 0

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

"a"

127.0.0.1:6379> srandmember set2

"2"

127.0.0.1:6379> srandmember set2

"b"


5、Zset类型常用操作

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

(integer) 1

127.0.0.1:6379> zadd zset1 10 bbb

(integer) 1

127.0.0.1:6379> zadd zset1 5 ccc

(integer) 1

127.0.0.1:6379> zadd zset1 20 ddd

(integer) 1

127.0.0.1:6379> zadd zset1 100 eee

(integer) 1

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

1) "aaa"

2) "ccc"

3) "bbb"

4) "ddd"

5) "eee"

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

1) "aaa"

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"

3) "bbb"

4) "ccc"

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

(integer) 1

127.0.0.1:6379> zrange zset1 0 -1

1) "ccc"

2) "bbb"

3) "ddd"

4) "eee"

127.0.0.1:6379> zrank zset1 ccc                            //按scores正向返回元素索引值,从0开始

(integer) 0

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

(integer) 3

127.0.0.1:6379> zcard zset1                                  //返回集合中所有元素的个数

(integer) 4

127.0.0.1:6379> zcount zset1 1 10                       //返回分值范围1-10的元素个数

(integer) 2

127.0.0.1:6379> zrangebyscore zset1 1 10           //返回分值范围1-10的元素

1) "ccc"

2) "bbb"

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

1) "ccc"

2) "5"

3) "bbb"

4) "10"

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

(integer) 3

127.0.0.1:6379> zrange zset1 0 -1

1) "eee"

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

(integer) 1

127.0.0.1:6379> zrange zset1 0 -1

(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

(integer) 1

127.0.0.1:6379> exists set2                //键不存在,返回0

(integer) 0

127.0.0.1:6379> del key1                   //删除一个key,成功返回1,否则返回0

(integer) 1

127.0.0.1:6379> expire key2 20         //设置key2的剩余过期时间为20s

(integer) 1

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

(integer) 1

127.0.0.1:6379> persist key3             //取消过期时间

(integer) 1

127.0.0.1:6379> ttl key3

(integer) -1

127.0.0.1:6379> select 2                    //切换到库2,默认进入0库,系统总共16个库

OK

127.0.0.1:6379[2]> set key5 123

OK

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

(integer) 1

127.0.0.1:6379> select 2

OK

127.0.0.1:6379[2]> keys *

1) "key5"

2) "set1"

127.0.0.1:6379> keys *

1) "hash1"

2) "key4"

3) "key3"

4) "zset1"

5) "list1"

127.0.0.1:6379> randomkey               //随机返回一个key

"key4"

127.0.0.1:6379> randomkey

"hash1"

127.0.0.1:6379> randomkey

"zset1"

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

OK

127.0.0.1:6379> keys *

1) "hash1"

2) "list2"

3) "key4"

4) "key3"

5) "zset1"

127.0.0.1:6379> type zset1                  //返回键的类型

zset

127.0.0.1:6379> type hash1

hash


三、Redis服务相关操作


127.0.0.1:6379> keys *

1) "hash1"

2) "list2"

3) "key4"

4) "key3"

5) "zset1"

127.0.0.1:6379> dbsize                        //返回当前数据库中key的数目

(integer) 5

127.0.0.1:6379> info                             //返回redis数据库状态信息

127.0.0.1:6379> flushdb                       //清空当前数据库中所有的键

OK

127.0.0.1:6379> flushall                        //清空所有数据库中的所有的键

OK


本文出自 “M四月天” 博客,请务必保留此出处http://msiyuetian.blog.51cto.com/8637744/1719979

Redis常用命令

标签:redis

原文地址:http://msiyuetian.blog.51cto.com/8637744/1719979

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!