zoukankan      html  css  js  c++  java
  • Redis使用

    String类型

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

    赋值:set key value

    取值:get key

    批量赋值

    mset key value key2 value2 ... keyN valueN

    批量取值

    mget key key2 key3 ... keyN

    取值并赋值:

    getset key value

     删除key:del key ... keyN

    数值加一:incr key

     数值加N:incrby key N

     数值减一:decr key

    数值减N:decrby key N

     字符串追加:append key value

    字符串长度:strlen key

     Hash散列类型

    Redis hash是一个键值对集合,和Java的HashMap类似

    Redis hash是一个String类型的field和value的映射表,hash特别适合用于存储对象(key可以是对象+id,field是对象属性,value是属性值)

    给一个字段赋值:hset key field value

    给多个字段赋值:hmset key field value ... fieldN valueN

    取一个字段的值:hget key field

    取多个字段的值:hmget key field value ... fieldN valueN

    取所有字段名和值:hgetall key

     删除字段名和值:hdel key field ... fieldN

    判断字段是否存在 hexists key field

     存在的话返回1,不存在的话返回0

    获取key的所有field:hkeys key

    获取key的所有value:hvals key

     获取field个数:hlen key

     List类型

    Redis列表是采用链表来存储的简单字符串列表,按照插入顺序排序,添加元素一般从链表两端开始。

    向列表左侧加元素:lpush key value ... valueN

    向列表右侧加元素:rpush key value ... valueN

    遍历列表:lrange key startIndex endIndex 

    -1 表示最后一个元素 

    获取List长度:llen key

     通过下标获取值:lindex key index

    通过下标设置值:lset key index value

    列表左侧移除第一个元素:lpop key

    列表右侧移除第一个元素 rpop key

     

    截取保留剩下的列表:ltrim key startindex endindex

     在指定元素插入:linsert key after/before index value

     把集合第一个元素移到其他集合中:rpoplpush key otherListKey

    Set类型

    Redis的set是String类型的无序集合,它是通过HashTable实现的,用法和List类型很相似。

    新增集合元素:sadd key value ... valueN

    删除集合元素:srem key value ... valueN

    获取集合所有元素:smembers key

     

     集合差集:sdiff key1 key2

    集合交集:sinter key1 key2

    集合并集:sunion key1 key2

    获取集合长度:scard key

    Zset类型

    Redis的zset(sorted set)和set一样也是string类型元素的集合,且不允许有重复的成员。不同的是zset的每个元素都会关联一个double类型的分数,zset正是通过分数来为集合中的成员进行排序。zset的成员是唯一的,但是分数(score)却是可以重复。

    新增集合元素:zadd key score value ... scoreN valueN

    获取元素分数:zscore key value

     按照分数从小到大排序:zrange key startIndex endIndex

    按照分数从大到小排序:zrevrange key startindex endindex

     统计分数比value少的个数:zrank key value

    统计分数比value高的个数:zrevrank key value

    输出分数在指定值内的元素:zrangebyscore key score1 score2

     给元素加分:zincrby key score value

    获取元素个数:zcard key

     统计分数内的个数:zcount key score1 score2

     删除指定排名内的元素:zremrangebyrank key no1 no2

     删除指定分数内的元素:zremrangebyscore key score1 score2

    删除指定元素:zrem key value

    注:zcount 统计分数内的个数,score1<=keyScore<=score2;zremrangebyrank的No1和no2表示排名的第几位。

  • 相关阅读:
    [linux]在使用rsync时需要注意的小细节
    [日期工具分享][Shell]为特定命令依次传入顺序日期执行
    【API】反转输入字符(Java)
    【笔记】对自定义异常的理解(Java)
    【技巧】解决win10的1803版本下,无法收到1809推送、从而无法更新到1903版本的问题。
    【杂谈】5G有啥用?跟咱有关系么?关注那玩意儿干啥?
    【练习总结】题目:筛法遍历素数(Java)
    【练习】Java实现的杨辉三角形控制台输出
    windows系列的(xp/win7/server2003/2008/2012...)完美移植到centos7下面的虚拟机(KVM)
    模块之-os模块
  • 原文地址:https://www.cnblogs.com/LoganChen/p/14002169.html
Copyright © 2011-2022 走看看