Redis使用教程(二)redis常用命令

keys

     redis是key-value数据库,在redis中,key是二进制数,因此字符串和图片都可以作为key,通过keys查询redis中所有的key:


    key后面可以用“*”或者“?”:

    platform:*,匹配“platform”开头的key;

    pl?tform,匹配platform或者pletform

    *,查询所有keys。

    通过exists判断key是否存在,返回1表示存在,返回0表示不存在。

    

通过del命令删除Key-Value,


通过expire制定多少秒后key-value自动删除,ttl查看key的存活时间:

 


Redis 数据类型

    Redis支持五种数据类型:String(字符串),hash(哈希),list(列表),set(集合)及zset(有序集合)。

String(字符串)

    stirng是redis最基本的类型,一个key对应一个value。

    string类型是二进制安全的。string中可以包含任何数据。

    string类型是redis最基本的数据类型,一个键最大能存储512MB.

    示例:

    set命令可以添加/覆盖一个字符串或者数字类型,get命令获取值,也可通过mget来获取多个key的值。:


    对于数字类型的字符串,可通过以下命令对其进行算数运算操作:

    DECR/INCR,数字类型的数据自增减和自增


    DECRBY/INCRBY,数字类型数据减去某个指定的整数和增加某个指定的整数。

 

    INCRBYFLOAT,数值类型增加一个浮点数,负数表示减去。


list(列表)

    redis list类型类似java的LinkedList,通过链表来完成,像其添加元素速度非常快,但按照索引方式获取元素比较慢。因此list结构适合大数据量要求插入速度极快的场景。

    rpush 将多个值放入list尾部(右边),lpush 将多个值放入list头部(左边),使用lrange能从左到右实现指定范围的列表:


    rpop从list尾部抽取出一个元素,lpop从list头部抽取一个元素。llen获取list长度:

    

    对于消息服务要求,可使用lpop或者rpop,如果列表为空,会返回一个nil,导致消息订阅者不断尝试调用pop命令。另一种方式是redis提供了带阻塞的(block)的pop命令,blpop或者brpop。这两个命令在list为空时处于等待状态,直到列表有元素,或者指定时间到期为止。


    blop参数可接受同时获取多个列表,因此返回的是一个两个元素的列表,第一个元素是key值,第二个获取的是元素值。

    blpop总是先返回有元素的列表,参数为0表示永远等待。

Hash(哈希)

    Redis hash是一个键值(key>=value)对集合。

    hash是一个string类型的field和value的映射表,hash特别适合存储对象。每个hash可存储2^32-1键值对(40多亿)。

    hash有以下指令:

        hset key filed value,给指定的key设置一个字段值,如果值已经存在,则覆盖。返回0表示失败,返回1表示成功。

        hget key filed,获取指定key的filed字段的值,如果不存在,返回nil。

        hexists key filed,判断制定的key的field字段是否存在,不存在返回0,存在返回1。

        hkeys key,返回key所指定的hash所有的字段名。

        hgetall key,返回所有的字段名和字段值。

        hdel key field[field],删除多个字段值。

        假如系统的用户session会话保存到Redis中,key值得格式是session:{sessionId},以下的sessionId假设为“1xac”:


    Hash的字段支持递增计算,也是具有原子性。

    hincby key field value,对key指定的hash数据中的field的值进行计算,增加整型value。

    hincbyfloat key field value,对key指定的hash数据中的field的值进行计算,增加浮点数value.

    

set(集合)

 set与java中的java.util.Set类似,代表了元素不重复的集合,redis的Set除了元素的添加删除操作外,还包含了集合的并集、交集等功能,可以用于统计访问网站的所有IP,或者统计网站作者的所有共同粉丝等应用,常用的命令如下:

sadd key member[member..],添加元素。

srem key member[member..],删除元素。

smembers key,返回一个集合中的所有元素。

sinter key1 key2,返回两个集合的共同元素。

sinterstore key1 key2 key3,取key2和key3两个集合的共同元素,并且存放到key1集合。

sunion key1 key2,返回一个合并后的集合。

sunionstore key1 key2 key3,取两个集合的合并,并且存放到key1集合。

当set用于统计网站访问的IP时,实例如下:


    set用于查看两人共同好友,示例如下:

    

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值