Samoy的小窝

千里之行,始于足下 万行代码,始于指下

一只默默工作的程序猿


欢迎光临Samoy的小窝

Redis基本命令用法

一、String

概述:String是redis最基本的类型,最大能存储512MB的数据,String类型是二进制安全的,即可以存储任何数据,比如数字、图片、序列化对象等。

  1. 设置
    • 设置键值
        set key value
      
    • 设置键值以及过期时间
        setex key time value
      
    • 设置多个键值
         mset key value [key value...]
      
  2. 获取
    • 根据键获取值
        get key //若键不存在返回(nil)
      
    • 根据多个键获取多个值
        mget key [key...]
      
  3. 运算 要求:值为字符串类型的数字
    • 将key对应的值加1
        incr key
      
    • 将key对应的值减1
        decr key
      
    • 将key对应的值加整数
        incrby key n
      
    • 将key对应的值减整数
        decrby key n
      
  4. 其他
    • 追加值
        append key value
      
    • 获取值的长度
        strlen key
      

二、Key

  1. 查找键
     keys pattern(支持正则表达式)
    
  2. 查找键是否存在
     exists key [key...]
    
  3. 查看key对应的value类型
     type key
    
  4. 删除键
     del key
    
  5. 设置过期时间(s)
     expire key time
    
  6. 查看有效时间(s)
     ttl key
    

三、Hash

概述:hash用于存储对象,例如{name:"Tom",age:18}

  1. 设置
    • 设置单个值
        hset key field value
      
    • 设置多个值
        hmset key field value [field value...]
      
  2. 获取
    • 获取一个属性的值
        hget key field
      
    • 获取多个属性的值
        hmget key field [key field...]
      
    • 获取所有属性的值
        hgetall key
      
    • 获取所有属性
        hkeys key
      
    • 获取所有值
        hvals key
      
    • 获取包含数据的个数
        hlen key
      
  3. 其他

    • 判断属性是否存在
        hexists key field
      
    • 删除属性
        hdel key field [field...]
      
    • 返回属性的值的字符串长度
        hstrlen key field
      

四、List

概述:列表元素类型为String,按照插入顺序排序,在列表的头部或尾部添加元素

  1. 设置
    • 在头部插入
        lpush key value [value ...]
      
    • 在尾部插入
        rpush key value [value ...]
      
    • 在一个元素前|后插入新元素
        linsert key before|after pivot value
      
    • 设置指定索引的元素值
        lset key index value
      

      注意:索引值可以是负数,表示偏移量是从list的尾部开始的,如-1表示最后一个元素.

  2. 获取
    • 移除并返回key对应的list的第一个元素
        lpop key 
      
    • 移除并返回key对应的list的最后一个元素
        rpop key
      
    • 返回储存在key的列表中指定范围的元素
        lrange key start end
      

      注意:start end 都是从0开始的,偏移量可以使负数.

  3. 其他
    • 裁剪列表,改为原列表的一个字列表
        ltrim key start end 
      
    • 返回储存在key里的列表长度
        llen key
      
    • 返回列表中索引对应的值
        linedex key index
      

      注意:索引值可以是负数,表示偏移量是从list的尾部开始的,如-1表示最后一个元素.

五、Set

概述:无序集合,元素类型是String类型,元素具有唯一性,不能重复。

  1. 设置
    • 添加元素
        sadd key  member [member ...]
      
  2. 获取
    • 返回key集合中所有元素
        smembers key
      
    • 返回集合中元素个数
        scard key
      
  3. 其他
    • 求多个集合的交易
        sinter key [key ...]
      
    • 求多个集合的差集
        sdiff key [key ...]
      
    • 求多个集合的并集
        sunion key [key ...]
      
    • 判断元素是否在集合中
        sismember key member
      

六、ZSet

概述:有序集合,元素类型为String类型,元素具有唯一性。每个元素都会关联一个double类型的score(权重),通过权重的大小排序,元素的score可以相同。

  1. 设置
    • 添加
        zadd key score member [score member...]
      
  2. 获取
    • 返回指定范围内的元素
       zrange key start end
      
    • 返回元素个数
       zcard key
      
    • 返回有序集合key中,score在一个范围内的元素
       zcount key min max
      
    • 返回有序集合key中,成员member的score值
       zscore key member
      
最近的文章

初始Redux

先来看下通过Redux实现的实例吧:这个Demo的功能很简单,通过三个按钮实现<Text></Text>组件的文本变换,当点击”增加”按钮时,我们会新增一篇”日记”,内容为”This is a new article.”,当点击”修改”时,”日记”会更改为”This article is modified.”,当点击”删除”按钮时,会将这篇”日记”删除,文本会设置为空字符串。然后我们再看以下具体是怎么实现的吧: 首先Redux的思想是将数据也页面分离,因此只有大型...…

更早的文章

一个Alert弹出框的工具类:AlertUtils

最近在做Android项目的时候总觉得系统提供的Alert弹出框代码过于繁琐,因此对系统Alert的代码进行了二次封装,这样以后开发的时候再也不用写很多代码了。代码如下:import android.app.Activity;import android.app.AlertDialog;import android.app.ProgressDialog;import android.content.DialogInterface;/** * Alert工具类 * * @author Sam...…