Redis常见类型及API

五大数据类型

1.String

     SETRANGE 指定位置替换字符串

     INCRBY key xx 指定步长自增

     DECRBY key xx 指定步长自减

     setex(set with expire)设置过期时间

     setnx (set if not exist)不存在设置,如果存在当前key返回0,创建失败(分布式锁中常用)

     mset、mget 批量创建key-value,批量选择key

     msetnx 如果不存在则批量创建,只要有一个key存在,就全都创建错误

     getset 先get然后set

 

2.List

  LPUSH 左边存入

  LRANGE 左边取出

  RPUSH 右边存入

  LPOP 左边移除

  RPOP 右边移除第一个

  LINDEX 通过索引获取

  LLEN 获取列表长度

  LREM  移除指定的值

  LTRIM 取子列表

  RPOPLPUSH 移除右边第一个元素并移动到另一个list中

  LSET 替换指定位置的元素值(更新操作,如果不存在,返回错误)

  LINSERT 将某个具体的值插入到列表中某个元素的前或后面

 

3.Set

  SADD 添加元素

  SMEMBERS 查看set中的元素

  SISMEMBER 判断某一个值是不是在set集合中

  SCARD 查看set里元素个数

  SREM 移除指定元素

  SRANDMEMBER 随机抽选出一个(或多个)元素

  SPOP 随机删除一个元素

  SMOVE 移动指定元素到另一个Set中

  SDIFF 筛选差集

  SINTER 筛选交集

  SUNION 筛选并集

 

4.Hash(key-map)

  hset、hget、hmset、hgetall和String类型差不多

  hdel  删除指定key

  hlen 查看长度

  hexists 判断指定key是否存在

  hkeys 只获得所有的key

  hvals 只获得所有的values

  hincrby 指定字段自增

  hsetnx 如果不存在则可以设置

 

5.Zset(有序集合)

  zadd  添加元素

  zrangebyscore set +inf -inf  从大到小排序

  zrevrange set 0 -1 从大到小排序

  zrem 移除

  zcard 查看元素个数

  zcount 查看指定区间的成员个数


三大特殊类型

1.geospatial

  geoadd 添加经度、纬度、城市

  geopos 获取指定城市的经度和纬度

  geodist 获取两地之间的直线距离 可以切换单位m、km、mi(英里) ft(英尺)

  georadius 以某点为中心指定半径查询集合中所有的元素

  georadiusbymember 以某个元素为中心指定半径查询集合中所有元素

  geohash 返回指定元素经纬度的Geohash字符串

geospatial底层原理是基于Zset的,可以用Zset中的命令对geospatial元素进行操作

 

2.Hyperloglog (允许容错的前提下可以使用)

  pfadd 添加

  pfcount 统计个数

  pfmerge 合并(求并集)

 

3.Bitmaps(位图)

  setbit

  getbit

  bitcount 统计元素中为1的位的个数

posted @ 2020-04-11 20:02  Q1Zhen  阅读(257)  评论(0编辑  收藏  举报