list列表是使用双向链表实现,查询复杂度为O(n),
set集合,查询复杂度为O(1)
zset有序集合,查询复杂度为O(logn)
keys : 返回满足给定的正则表达式的所有key
exists : 确认一个key是否存在,返回1代表存在,返回0代表不存在
del : 删除一个key
expire : 设置一个key的过期时间,这个在redis我记不住的那些命令(一) 有相应的解释和示例
move : 将当前数据库中的key移动到其他数据库中
persist : 移除给定key的过期时间, 这个也在redis我记不住的那些命令(一) 有相应的解释和示例
randomkey : 随机返回key空间的一个key
rename : 重命名key
type : 返回某个key的值的类型
getset : 修改某个key的值,是增删改查中的“改”, 增是set命令,删是del命令,查是get命令或exists命令,改则是getset命令
- # 1. keys : 返回满足给定的正则表达式的所有key
- # *代表任意,即返回所有key
- 127.0.0.1:6379> keys *
-
- # 代表返回所有以count开头的key
- 127.0.0.1:6379> keys count*
-
-
- # 2. exists : 确认一个key是否存在,返回 1 代表存在,返回0代表不存在
- 127.0.0.1:6379> exists age
- (integer) 1 # 代表存在
-
- # 3. del : 删除一个key,返回1代表删除成功,返回0代表key不存在或删除失败
- 127.0.0.1:6379> del age
-
- # 4. expire : 设置一个key的过期时间,单位为秒
- 127.0.0.1:6379> expire age 60
-
- # 5. move : 将当前数据库中的key移动到其他数据库中
- 127.0.0.1:6379> select 0 # select命令用于选择数据库,0代表0号数据库
- 127.0.0.1:6379> set weight 80
- 127.0.0.1:6379> get weight
- 80
- 127.0.0.1:6379> move weight 1 # 将weight移动到1号数据库
- 127.0.0.1:6379> get weight
- (nil)
- 127.0.0.1:6379> select 1 # select命令用于选择数据库,1代表1号数据库
- 127.0.0.1:6379[1]> get weight
- 80
-
- # 6. persist : 移除给定key的过期时间
- 127.0.0.1:6379> persist age
-
- # 7. randomkey : 随机返回key空间的一个key
- 127.0.0.1:6379> randomkey
- "count"
-
- # 8. rename : 重命名key
- # rename key newkey
- 127.0.0.1:6379> rename count count0 # 将count重命名为count0
-
- # 9. type : 返回某个key的值的类型
- 127.0.0.1:6379> type count
- string
-
- # 10. getset : 修改某个key的值,是增删改查中的“改”,这个命令返回的是修改之前的数值。
- 127.0.0.1:6379> getset weight 88
- "80"
在对于过期数据上,有三种策略分别为: 定时删除、惰性删除、定期删除
经度、纬度
1. geoadd : 新增地理位置的坐标
2. geopos : 获取地理位置的坐标
3. geodist : 获取两个地理位置的距离
4. georadius : 根据给定的经度纬度坐标获取指定范围内的地理位置集合
5. georadiusbymember : 根据给定的地理位置获取指定范围内的地理位置集合
第四个命令和第五个命令的区别只是在于指定圆的圆心的方式不同
6. geohash : 获取某个地址位置的geohash值
- # 1. geoadd 新增地理位置的坐标
- 127.0.0.1:6379> geoadd china 116.46 39.92 beijing
- (integer) 1
- 127.0.0.1:6379> geoadd china 117.2 39.13 tianjin
- (integer) 1
- 127.0.0.1:6379> geoadd china 121.48 31.22 shanghai
- (integer) 1
- 127.0.0.1:6379> geoadd china 106.54 29.59 chongqing
- (integer) 1
- 127.0.0.1:6379> geoadd china 114.17 22.28 Hongkong 113.54 22.19 Macao 121.30 25.03 taiwan
- (integer) 3
-
- # 2. 获取地理位置的坐标
- 127.0.0.1:6379> geopos china beijing
- 1) 1) "116.45999997854232788"
- 2) "39.9199990416181052"
-
- 127.0.0.1:6379> geopos china beijing tianjin
- 1) 1) "116.45999997854232788"
- 2) "39.9199990416181052"
- 2) 1) "117.19999998807907104"
- 2) "39.12999996316577977"
-
- # 3. 获取两个地理位置的距离,最后的km代表是千米,默认单位为米
- 127.0.0.1:6379> geodist china beijing chongqing km
- "1461.4332"
-
- # 4. 根据给定的经度纬度坐标获取指定范围内的地理位置集合
- # 下例:以116.46,39.92为中心,距离在200km以内的地理位置,注意200与km之间是有空格的
- 127.0.0.1:6379> georadius china 116.46 39.92 200 km
- 1) "beijing"
- 2) "tianjin"
-
- # 5. 根据给定的地理位置获取指定范围内的地理位置集合
- # 下例:以beijing为中心,距离在200km以内的地理位置,注意200与km之间是有空格的
- 127.0.0.1:6379> georadiusbymember china beijing 200 km
- 1) "beijing"
- 2) "tianjin"
- 第四个命令和第五个命令的区别只是在于指定圆的圆心的方式不同
-
- # 6. 获取某个地址位置的geohash值
- 127.0.0.1:6379> geohash china beijing
- 1) "wx4g455wfe0"