Redis基本操作

redis操作

Redis支持六种数据类型string/hash/list/set/zset(sorted set)/hyperloglog

在java中通常以对象为主,主要需要Redis中数据类型与java对象之间进行转换。

  1. 获取符合规则的键名列表

    1. KEYS pattern

      符号含义
      ?匹配一个字符
      *匹配任意个(包括0)个字符
      []匹配括号间的任一字符,可以使用“-”符号表是一个范围,如a[b-d]可以匹配ab、ac、ad
      \x匹配字符x,用于转义符号。如果要匹配?,就需要使用?

      redis > SET bar 1

      OK

      redis > **KEYS ***

      1. “bar”

      注意:KEYS命令需要遍历redis中的所有键,当键的数据较多就会影响性能,不建议在生产环境使用

      提示 Redis不区分大小写

    2. 判断一个键是否存在

      EXISTS key

      如果存在返回整数类型1,否则返回0

    3. 删除键

      DEL key [key…]

      可以删除一个或多个键,返回的是删除键的个数

    4. 获取键值的数据类型

      TYPE key

      获得键值的返回类型,返回值可能是string、hash、list、set、zset

  2. 字符串类型

    1. 赋值与取值

      SET key value

      GET key

      如果获取的键值不存在,返回空结果

    2. 递增数字

      INCR num

      让当前的键值递增,返回递增之后的键值结果

    3. 增加指定的整数

      INCRBY key increment

    4. 减少指定的整数

      DECR key

      DECRBY key increment

    5. 增加指定的浮点数

      INCRBYFLOAT key increment

    6. 向尾部追加值

      APPEND key value

    7. 获取字符串长度

      STRLEN key

    8. 同时获得/设置多个键值

      MGET key [key…]

      MSET key value [key value…]

    9. 位操作

      GETBIT key offset

      SETBIT key offset value

      BITCOUNT key [start] [end]

      BITOP operation destkey key [key…]

      一个字节由8个二进制位生成

      通过GETBIT 可以获得key的第offset位的二进制位的值,如果超过了二进制位长度,返回0

      SETBIT 可以设置二进制位的值,超过二进制位长度,会将中间的位数设置为0

      BITCOUNT key [start] [end] 用来获取指定位置[start,end]的字符的二进制位1的个数,不指定start、end默认为访问全部

      BITOP可以对多个字符串类键进行位运算,并将结果存储在destkey参数指定的键中。

      BITOP命令支持的运算操作有AND、OR、XOR、NOT。

  3. 散列类型

    1. 赋值与取值

      HSET key field value (如果是插入,返回1,更新返回0)

      HGET key field

      HMSET key field value [field…]

      HMGET key field[field…]

      HGETALL key

    2. 判断字段是否存在

      HEXISTS key field

    3. 当字段不存在时赋值

      HSETNX key field value(如果字段存在,不进行任何操作)

    4. 增加数字

      HINCRBY key fieldincrement(散列没有HINCR指令)

    5. 删除字段 返回值是删除字段的个数

      HDEL key field[field…]

  4. 列表类型

    1. 向列表两端增加元素 返回添加元素的个数

      LPUSH key value [value…]

      RPUSH key value [value…]

    2. 从列表两端弹出数据

      LPOP key

      RPOP key

    3. 获取列表中的元素个数

      LLEN key 当键不存在返回0

    4. 获取列表片段

      LRANGE key start stop

      获取列表start到stop的元素,包含两端的元素,起始位置为0

    5. 删除列表中的指定值

      LREM key count value

      删除前count个值为value的元素,返回值是实际删除的元素个数。

      当count>0,LREM从列表左边开始删除前count个值为value的元素

      当count<0,LREM从列表右边开始删除前count个值为value的元素

      当count=0,LREM会删除所有值为value的元素

    6. 获得/设置指定索引的元素值

      LINDEX key index

      LSET key index value

    7. 只保留列表的指定片段

      LTRIM key start end

    8. 向列表中插入元素

      LINSERT key BEFORE|AFTER pivot value

      从左到右查找值为pivot的元素,根据第二个参数决定插入前面还是后面

    9. 将元素从一个列表转移到另一个列表

      RPOPLPUSH source destination

      从source的右边弹出一个元素,然后将其加入到destination的左边

  5. 集合类型

    1. 增加删除元素

      SADD key member [member…]

      SREM key member [member…]

      如果不存在则新建,对于已经存在集合中的元素,直接忽略,返回成功加入的元素数量

    2. 获得集合中的所有元素

      SMEMBERS key

    3. 判断元素时候在集合中

      SISMEMBER key member

    4. 集合间运算

      SDIFF key [key…] 差集

      SINTER key [key…] 交集

      SUNION key [key…] 并集

    5. 获取集合中的元素个数

      SCARD key

    6. 进行集合运算并将结果存储

      SDIFFSTORE destination key [key…]

      SINTERSTORE destination key [key…]

      SUNIONSTORE destination key [key…]

    7. 随机获得集合中的元素

      SRANDMEMBER key [count]

      不指定count ,默认为1个,当count > 0,获得count个不重复的元素,当count < 0,获得的元素可能重复

    8. 从集合中弹出一个元素

      SPOP key

      随机弹出

  6. 有序集合类型

    1. 增加元素

      ZADD key score member [score member…]

    2. 获取元素

      ZSCORE key member

    3. 获取排名在某个范围的元素列表

      ZRANGE key start stop [WITHSCORES]

      ZREVRANGE key start stop [WITHSCORES]

      ZRANGE命令会按照元素分数从小到大的顺序返回索引从start带stop之间的所有元素(包含两端)。

      ZREVRANGE是从大到小

    4. 获取指定分数范围的元素

      ZRANGEBYSOCRE key min max [WITHSCORES] [LIMIT offset count]

    5. 增加某个元素的分数

      ZINCRBY key increment member

    6. 获取集合中元素的数量

      ZCRAD key

    7. 获得制定分数范围内的元素个数

      ZCOUNT key min max

    8. 删除一个或多个元素

      ZREM key member [member…]

    9. 按照排名范围删除元素

      ZREMRANGEBYRANK key start stop

    10. 按照分数范围删除元素

      ZREMRANGEBYSCORE key min max

    11. 获取元素的排名

      ZRANK key member

      ZREVRANK key member

    12. 计算有序集合的交集

      ZINTERSTORE destination numkeys key [key…]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值