Redis基本命令使用::string篇

Redis有6大基本类型,分别是字符串(String)、列表(List)、集合(set)、哈希结构(hash)、有序集合(zset)和基数(HyperLogLog)

redis在线体验地址:http://try.redis.io/

字符串(String)

介绍:

字符串是Redis中最基本的数据类型,数据以二进制的形式存储于内存中,所以Redis的字符串可以是任何形式的数据,比如JPEG图像、序列化的Ruby对象等。

字符串最大可存储512MB的数据,但一般一个字符串容量过大,会直接影响存储和查询的效率。字符串有两种编码方式:raw和embstr,根据字符串长度自动选择使用哪一种编码,目前最新版的长度是44个字节,字符串长度小于等于44个字节,则使用embstr编码,大于44个字节则使用raw编码,两种编码方式这里就不作详解,有兴趣的可以谷歌一下。

创建缓存

  1. 创建一个缓存

    • 命令格式:set key value

      set cc 'niubility'
      
      ---
      创建一个key为cc,值为niubility的缓存
      
  2. 批量创建缓存

    • 命令格式:mset key value [key value ...]

      mset cc1 1 cc2 2 cc3 3
      
      ---
      创建三个缓存,key:value分别为cc1:1, cc2:2, cc3:3
      
    • 命令格式:msetnx key value [key value ...]

      msetnx cc1 11 cc2 22 cc5 5 cc6 6
      
      ---
      此命令只会将尚不存在的key值创建到缓存中,已经存在的key则忽略
      * cc1、cc2已存在于缓存中,所以不会创建/更新成功,cc5、cc6不存在于缓存中,会创建
      
  3. 创建一个带过期时间的缓存

    • 命令格式:setex key time value

      setex cc1 10 234
      
      ---
      设置key:value为cc1:234且过期时间为10秒的缓存
      
  4. 设置一个不存在key的value,若key已存在则不设置

    • 命令格式:setnx key value

      setnx cc5 12
      
      ---
      若cc5的key不存在于缓存中,则创建key:value为cc5:12的缓存,否则不执行创建
      
  5. 组合创建一个缓存(缓存过期时间、是否覆盖)

    • 命令格式:set key value [EX|PX time] [NX|XX]

      解析:

      EX:表明过期时间为秒
         
      PX:表明过期时间为毫秒
         
      NX:若key不存在则执行,否则不执行,与XX相反
         
      XX:若key存在则执行,否则不执行,与NX相反
      
        set cc1 123 EX 20 XX
        
      ---
        若cc1已存在则创建过期时间为20秒的key:value = cc1:123
      
  6. 将key设置为新值的同时返回原值
  • 命令格式:getset key value

    getset cc1 1
    
    ---
    若key不存在,则返回nil
    

读取缓存

  1. 读取一个key的缓存值

    • 命令格式:get key

      get cc1
      
      ---
      读取key=cc1的值
      
  2. 批量读取一批数据

    • 命令格式:mget key [key ...]

      mget cc1 cc2 cc3
      
  3. 截取字符串并返回

    • 命令格式:getrange key start end

      getrange cc1 1 12
      
      ---
      字符串下标以0开始,若start超出字符串长度或key不存在,则返回空字符串
      

其他操作

  1. 将value加1( value必须为整数 )[ 可用于阅读量、点赞数等简单统计类的功能应用 ]

    • 命令格式:incr key

      incr cc1
      
      ---
      每次调用均对value进行+1操作
      
  2. 给value加上某个数( num必须为整数 )

    • 命令格式:incrby key num

      incrby cc1 100
      
      ---
      给cc1的值加上100
      
  3. 给value加上某个浮点数

    • 命令格式:incrbyfloat key num

      incrbyfloat cc1 0.2
      
  4. 给value减1

    • 命令格式:decr key

      decr cc1
      
      ---
      每次调用均对value进行-1操作
      
  5. 给value减去某个数( num必须为整数 )

    • 命令格式:descby key num

      decrby cc1 100
      
      ---
      给cc1的值减去100
      
  6. 查看value的长度

    • 命令格式:strlen key

      strlen cc1
      

目前先整理这些,都是一些基础的命令,随后再写一篇Java中使用Jedis操作字符串的随笔。

串一串爪娃子

欢迎关注我的个人微信公众号,公众号中每天发布最新的技术博文

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值