首页 > 编程语言 > redis 常用命令
2016
08-01

redis 常用命令

一:客户端启动redis

./redis-server &

二:在客户端打开redis操作窗口

sudo redis-cli

三:获取所有的key

keys*

四:Hashes 相关

1:获取某个hash中全部的filed及value。

hgetall user

2:设置hash field为指定值,如果key不存在,则先创建。

hset myhash field1 Hello

3:同时设置hash的多个field。

hmset myhash field1 Hello field2 World

4:获取指定的hash field:  

hget myhash field

 5:获取全部指定的hash filed

hmget myhash field1 field2 field3

6:返回hash的所有field

hkeys myhash

7:返回hash的所有value

hvals myhash

8:删除某个hash的某个字段

hdel myhash field1

9:获取某个hash的 字段数量

hlen myhash

10:测试指定field是否存在

hexists myhash filed1 有返回1 ,没有返回0

五:string 相关

1:设置一个key-value,如果key不存在,新增;否则,更新

set user.name zhangsan

2:同时设置多个key-value

mset user.name zhangsan user.age 11 user.sex 1

3:获取一个key所set的值

get user.name

4:批量获取key的值。程序一次获取多个值

mget user.name user.age

5:修改key的值,并返回key的旧值

getset user.name zhangsan

6:key存在,在旧值的后面追加value;key不存在,直接set

append user.name 001

7:key中如果存储的是数字,则可以通过incr递增key的值,返回递增后的值。如果key不能存在,视为初始值为0

incr user.age

8:递减key保存的数字,减1,如果key不存在,初始值视为0

decr user.age

9:用指定的步长递减key的值,减步长,如果步长decrment是负值,则递增

decrby user.age 5

10:删除指定的key,返回删除key的个数

del user.age

11:获取key中所存储值的长度

strlen user.name

六:有序集合

在集合类型的基础上有序集合类型为集合中的每个元素都关联了一个分数(score),这使得我们不仅可以完成插入、删除和判断元素是否存在等集合类型支持的操作,还能够获得分数最高(或最低)的前N个元素、获得指定分数范围内的元素等与分数有关的操作。虽然集合中每个元素都是不同的,但是它们的分数却可以相同。有序集合类型在某些方面和列表类型有些相似。

1:ZADD命令用来向有序集合中加入一个元素和该元素的分数,如果该元素已经存在则会用新的分数替换原有的分数(修改)

zadd stutent 100 zhangsan 85 lisi 60 wangwu

2:获得元素的分数

zscore student zhangsan

3:ZRANGE命令会按照元素分数从小到大的顺序返回索引从start到stop之间的所有元素(包含两端的元素)

zrange student 0 2 (返回倒数3名的学生名称)

4:获得指定分数范围的元素

zrangebyscore student 80 100 

5:如果需要同时获得元素的分数的话可以在ZRANGE命令的尾部加上WITHSCORES参数

zrange student 0 5 withscores(查倒数5名的同学,结果显示分数)

zrangebyscore student 80 100  withscores(查80-100分的同学,结果显示分数)

6:获得指定分数范围的元素,不包含端点值,可以在分数前加上“(”符号

zrangebyscore student 80 (100  

7:增加(减少)某个元素的分数

zincrby student -5 zhansan  (张三的分数减5分)

zincrby student 5 zhansan  (张三的分数加5分)

8:获得集合中元素的数量(获取总数)

zcard student

9:获得指定分数范围內的元素个数

zcount student 90 100 (获取90-100的学生数量)

10:删除一个或多个元素(相当于delete)

zrem student zhangsan(删除张三这个人)

11:按照分数范围删除元素

ZREMRANGEBYSCORE student 90 100 (删除90-100分的学生)

12:ZRANK命令会按照元素分数从小到大的顺序获得指定的元素的排名

zrank student zhangsan (获取张三的排名,倒数的)

13:ZREVRANK分数从大到小的元素排名

ZREVRANK student zhangsan(获取张三的排名,正数的)

代码技巧