五大数据类型:String List Set Hash Zset
三种特殊数据类型: Bitmap, Hyperloglogs, Geospatial
String讲解:
大部分使用的都是String类型的数据
使用append key "string"在key值后追加字符串string(如果当前key不存在,等同于set key)
使用strlen key 获取字符串的长度
使用incr key自增操作
使用decr key 自减操作
使用incrby key num 自增num
使用decrby key num 自减num
使用getrange key num1 num2 截取字符串(左右闭区间)(0 -1 可以查看全部)
使用setrange key num string替换字符串(从num开始替换)
使用setex key num value设置键值以及过期时间
使用setnx key value 如果不存在key则设置该键值对
使用mset [key value]批量设置键值对
使用mget [key]批量获取键值
使用msetnx [key value]不存在的情况下,批量设置键值对(原子性操作)
使用getset key value 进行先获取key值再设置key值
List讲解:
可以是队列,栈,双队列...
list命令一般都是L开头
使用lpush key value 添加数据name为list名字(插入头部(左))
使用rpush key value 添加数据(插入尾部(右))
使用lrange key num1 num2 获取指定范围的数据
使用lrange key 0 -1获取list中的所有数据
使用lpop key 移除尾部数据(左移除)
使用rpop key 移除头部数据(右移除)
使用lindex key num 输出指定下标数据
使用llen key输出长度
使用lrem key num value移除num个key中值为value的数据
使用ltrim key num1 num2 截取指定区间的数据,其他区间数据被截断(移除)
使用rpoplpush key1 key2将key1尾数据转移到key2头数据中
使用exists [key]查看指定key是否存在
使用lset index value更新指定下标的数据(不存在该下标则报错)
使用linsert key before|after value1 value2 在key的value1前或后插入数据value2
Set讲解:
Set命令一般都是S开头 Set中不存在重复值 Set为乱序
使用sadd key [value] 添加数据
使用smembers key查看所有数据
使用sismember key value 查看key中是否包含该元素
使用scart key 查看元素个数
使用srem key [value]移除指定元素
使用srandmember key {num}随机获取元素
使用spop key{num}随机移除元素
使用smove key1 key2 value将key1中的value转移到key2中
使用sdiff key [key]查看key中存在 其他key中不存在的value(差集)
使用sinsert key [key]查看指定的key中都存在的value(交集)
使用sunion key [key]并集
Hash讲解:
Hash命令一般为H开头,特点:存的value为键值对
使用hset key key value 添加数据
使用hmset key [key value] 批量添加数据(存在key会被覆盖)
使用hget key key1获取key1对应的数据
使用hmget key [key]批量获取数据
使用hgetall key获取所有值
使用hdel key key删除指定键值
使用hlen key获取数据个数
使用hexists key key 查看某个键值是否存在
使用hkeys key 获取所有的key(只有key,无value)
使用hvals key获取所有的value(只有value,无key)
使用hincrby key key num 自增num
使用hsetnx key key value 如果不存在对应的键则添加该键值,否则不添加
Zset讲解:
使用zadd key [num value]添加值(根据num进行排序)
使用zrange key 0 -1查看所有元素(升序)
使用zrevrange myzset 0 -1 [withscores] 查看所有元素(降序)
使用zrangebyscore key -inf +inf升序查看所有数据
使用zrangebyscore key -inf +inf withscores 升序查看所有数据 附带排序值
使用zrangebyscore key -inf num 查看范围从最小到num区间的数据(举一反三 略)
使用zrem key value 移除某个元素
使用zcard key 查看元素个数
使用zcount key min max 获取指定区间的数据
Geospatial(地理位置)讲解:
数据有三个参数 经度 纬度 名称(两极无法添加) 经度必须在纬度之前
有效的经度从-180度到180度。
有效的纬度从-85.05112878度到85.05112878度。
当坐标位置超出上述指定范围时,该命令将会返回一个错误。
命令geo开头
使用geoadd key [longitude latitude member] 添加数据
使用geopos key [member] 获取经纬度信息
使用geodist key member1 member2[unit] 获取两个地区之间的距离(unit:m km mi ft)
使用
georadius key longitude latitude value m|km|mi|ft [withcoord] [withdist][withhash][count num]
以给定的经纬度为中心,找出某一半径内的元素
使用georadiusbymember 同上 根据member来查找
使用geohash key [member]返回经纬度数据的哈希值
geo是基于Zset来实现的,可以通过Zset来进行操作
使用zrange key 0 -1查看所有member
使用zrem key [member]删除指定的member
Hyperloglog讲解:
hyperloglog用于基数统计 如果允许容错(0.81%),可以使用hyperloglog
命令pf开头
使用pfadd key [value] 添加数据
使用pfcount [key] 统计基数
使用pfmerge newkey [oldkey] 并集
Bitmap(位图)讲解:
用于位存储,操作二进制位来进行记录,只有0 1 两种状态
使用setbit key offset value来进行记录(offset从0开始)
使用getbit key offset 查看指定位状态
使用bitcount key查看1状态总数