启动Redis的过程请参考前几篇博客,这里我们只介绍一些基本操作。
redis是“key-value”类型的NoSQL,我们redis-cli能操作的就是String类型的key和多种类型的value(一般是string、list、set、zset、hash五种类型)。但实际上放入value中 的都是String类型,之所以会产生上述五种类型是因为,redis内部将value值组织成各种数据类型。
一、对value为string类型的常用操作
单一设置
set key value //将字符串值value关联到key
get key //返回key关联的字符串值
批量设置
mset //同时设置一个或多个key-value对
mget //返回所有(一个或多个)给定的key值
自增自减
incr key //将key中存储的数字值增加1(若key不存在,则初始化为0,再加1)
decr key //将key中存储的数字值减1(若key不存在,则初始化为0,再减1)
incrby key num //将key中存储的数字自增num个值
decrby key num //将key中存储的数字自减num个值
二、对key的常用操作
keys * //获取所有的key列表
del key //删除某个key
expire key time //设置key的过期时间,其中time为单位为秒
ttl key //查看key的过期时间
flashall //清空整个redis服务器数据,所有的数据库全部清空
flashdb //情况当前库,redis中默认有16个数据可,名称分别为0,1,2,3,......15
三、对list集合的常用操作
list可以堪称是一个左右排列的队列(列表)
表头表尾的增删
lpush key value //将一个或多个值value插入到列表key的表头
rpush key value //将一个或多个值value插入到列表key的表尾
lrange key start stop //返回列表key中指定区间内的元素,查询所有的数据只需将“stop”设置为-1即可
lpop key //移除并返回列表key的头(最左边)元素
rpop key //移除并返回列表key的尾(最右侧)元素
按照指定方式删除
lrem key count value //根据count的值移除列表key中与参数value相等的元素
- count>0:从表头开始向表尾搜索,移除与value相等的元素,数量为count。
- count=0:移除表中所有与value相等的值。
- count<0:从表尾开始向表头搜索,移除与value相等的元素,数量为count的绝对值。
lindex key index //返回列表key中,下标为index的元素
ltrim key start stop //对一个列表进行修剪,修剪结果为从start到stop位置的数据
追加一个面试题
如何用redis实现栈和队列?
栈:先进后出。控制同一边进,同一边出,利用rpush/rpop或lpush/lpop。
队列:先进先出。控制一边进,另一边出,利用lpush/rpop或rpush/lpop。