Redis各种数据类型使用
- ==String==
-
- set key value
- exists key
- del key
- get key
- expire key seconds
- ttl key
- type key
- append key value
- strlen key
- incr key
- decr key
- incrby key increment
- decrby key decrement
- getrange key start end
- setrange key offset value
- setex key seconds value
- setnx key value
- mset key value [key value …]
- mget key [key …]
- getset key value
- ==List==
- ==Set==
- ==Hash==
- ==Zset==
- Geospatial 地理位置
-
- geoadd key 经度 维度 member
- geopos key member [member]
- geodist key member1 member2 [unit]
- georadius key 经度 维度 radius 单位
- georadius key 经度 维度 radius 单位 withdist
- georadius key 经度 维度 radius 单位 withcoord
- georadius key 经度 维度 radius 单位 withdist withcoord count 1
- georadiusbymember key member radius 单位
- geohash key member1 member2
- ==Bitmap==
keys *
查看所有的key
flushdb
清空当前数据库
flushall
清空所有数据库
select index
使用一个数据库
String
set key value
设置key,同一个key多次set会覆盖
exists key
判断当前key是否存在
del key
移除某个key
get key
获取某个key
expire key seconds
设置key的过期时间,单位为秒
ttl key
查看当前key的剩余时间,单位为秒
type key
查看key的类型
append key value
追加
strlen key
获取字符串长度
incr key
自增1 //value需要是个数字
decr key
自减1 // value需要是个数字
incrby key increment
设置步长增量为5
decrby key decrement
设置步长减量为5
getrange key start end
获取指定范围字符串
getrange key 0 -1 (等同于get key)
getrange key 0 3(获取前四个字符)
setrange key offset value
替换指定起始位置字符串
setex key seconds value
原子操作 (set with expire), 设置某个键的值并附带过期时间,单位为秒
setnx key value
原子操作 (set if not exist) ,key不存在则设置,可应用于分布式锁中
mset key value [key value …]
可以同时设置多个键值
mget key [key …]
可以同时获取多个键的值
getset key value
key存在,则设置value,否则不做操作
List
key即为list的名称
lpush key value [value …]
向列表头部(左侧)插入多个值,依次向头部插入
lrange key start stop
获取列表起始和结束位置的元素
lrange key 0 -1 :获取列表中所有元素
rpush key value [value …]
向列表尾部(右侧)插入多个值,依次向尾部插入
lpop key
弹出列表中的第一个元素(移除并返回)
rpop key
弹出列表中的最后一个元素
lindex key index
通过索引获取列表中指定元素
llen key
获取列表的长度
lrem key count value
移除指定个数的元素
ltrim key start stop
截取指定范围内的元素
rpoplpush
移除第一个列表中的最后一个元素,到第二个列表中
lset key index value
根据索引替换元素,若索引不存在则报错
linsert key before|after pivot value
将value插入到列表中指定元素的前面或后面
Set
set中不允许重复元素且无序,key即为set名称
sadd key member [member …]
向指定set中添加元素
smembers key
查看所有元素
sismember key member
判断是否存在该元素
scard key
获取元素个数
srem key member [member …]
移除一个或多个元素
srandmember key [count]
随机获得指定数量的元素,若不指定数量则随机获取一个
spop key [count]
随机删除指定数量的元素,若不指定数量则随机删除一个
smove source destination member
将source中的指定member移动到destination中
sdiff key1 [key2 …]
求多个set的差集,key1中存在,其它key中不存在的元素
sinter key1 [key2 …]
求多个set的交集,所有key中相同的元素
sunion key [key …]
求多个set的并集,所有key中所有不重复的元素
Hash
key即为hash名称,value以键值对形式存在
hset key field value
设置hash中键值
hget key field
获取hash中指定间的值
hmset key field value [field value …]
同时设置多个字段和值
hmget key field [field …]
同时获取多个字段的值
hgetall key
获取全部的字段和值
hdel key field [field …]
删除指定的字段(值也会被一起删除)
hlen key
获取hash表中字段的数量
hexists key field
判断指定字段是否存在
hkeys key
只获取所有的字段
kvals key
只获取所有的value
hincrby key field increment
指定增量
hdecrby key field decrement
指定减量
hsetnx key field value
指定字段存在则设置,不存在不做操作
Zset
zadd key score member [score member …]
设置分数和成员
zrange key start stop
获取指定范围的成员
zrange score 0 -1:全部
zrange score 0 1:第一个
zrange score 0 0:第一个
zrangebyscore key min max
zrangebyscore score -inf +inf:显示所有成员,从小到大顺序
zrangebyscore key min max withscores
zrangebyscore score -inf +inf withscores:显示所有成员和分数,从小到大顺序
zrevrange key start stop
zrevrange score 0 -1:显示所有成员,从大到小顺序
zrem key member [member …]
zrem score m1 m2:移除指定成员
zcard key
zcard score:获取成员个数
zcount key min max
zcount score 100 300:获取分数范围内的成员数量
Geospatial 地理位置
经度范围:-180度 到 180度。
维度范围:-85.05112878度到85.05112878度。
geoadd key 经度 维度 member
geoadd china:city 170.34 34.39 beijing:添加成员位置信息
geopos key member [member]
geopos china:city beijing:获取成员位置信息
geodist key member1 member2 [unit]
单位:
m 米。
km 千米。
mi 英里。
ft 英尺。
geodist china:city beijing shanghai km:获取北京到上海的距离,单位:km
georadius key 经度 维度 radius 单位
georadius china:city 145.34 45.31 888 km:获取半径范围内成员
georadius key 经度 维度 radius 单位 withdist
georadius china:city 145.34 45.31 500 km withdist
显示(145.34,45.31)和500 km半径内的成员及距离
georadius key 经度 维度 radius 单位 withcoord
georadius china:city 145.34 45.31 500 km withcoord
显示(145.34,45.31) 500 km半径内的成员及位置
georadius key 经度 维度 radius 单位 withdist withcoord count 1
georadius china:city 145.34 45.31 500 km withdist withcoord count 1
筛选出指定的结果
georadiusbymember key member radius 单位
georadiusbymember china:city beijing 1000 km
geohash key member1 member2
返回一个或多个位置元素的11个字符的 Geohash 表示
如果两个字符串越接近,那么则距离越近!
geohash china:city beijing chongqi
GEO 底层的实现其实就是 Zset!可以使用Zset命令来操作geo
Bitmap
只有0和1两种数值
setbit key offset value
设置偏移量的值为0或者1
setbit sign 10 1
getbit key offset
获取该偏移量的值