• redis我记不住的那些命令(二)


    背景:我记不住那么多命令,又是Linux命令,又是Git命令,又是kubernetes的命令,又是maven命令,又是redis命令。所谓好记性不如烂笔头,记下来吧。

    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. ​# 1. keys  :  返回满足给定的正则表达式的所有key
    2. # *代表任意,即返回所有key
    3. 127.0.0.1:6379> keys *
    4. # 代表返回所有以count开头的key
    5. 127.0.0.1:6379> keys count*
    6. # 2. exists  : 确认一个key是否存在,返回 1 代表存在,返回0代表不存在
    7. 127.0.0.1:6379> exists age
    8. (integer) 1 # 代表存在
    9. # 3. del  : 删除一个key,返回1代表删除成功,返回0代表key不存在或删除失败
    10. 127.0.0.1:6379> del age
    11. # 4. expire : 设置一个key的过期时间,单位为秒
    12. 127.0.0.1:6379> expire age 60
    13. # 5. move : 将当前数据库中的key移动到其他数据库中
    14. 127.0.0.1:6379> select 0 # select命令用于选择数据库,0代表0号数据库
    15. 127.0.0.1:6379> set weight 80
    16. 127.0.0.1:6379> get weight
    17. 80
    18. 127.0.0.1:6379> move weight 1 # 将weight移动到1号数据库
    19. 127.0.0.1:6379> get weight
    20. (nil)
    21. 127.0.0.1:6379> select 1 # select命令用于选择数据库,1代表1号数据库
    22. 127.0.0.1:6379[1]> get weight
    23. 80
    24. # 6. persist : 移除给定key的过期时间
    25. 127.0.0.1:6379> persist age
    26. # 7. randomkey : 随机返回key空间的一个key
    27. 127.0.0.1:6379> randomkey
    28. "count"
    29. # 8. rename : 重命名key
    30. # rename key newkey
    31. 127.0.0.1:6379> rename count count0 # 将count重命名为count0
    32. # 9. type  : 返回某个key的值的类型
    33. 127.0.0.1:6379> type count
    34. string
    35. # 10. getset : 修改某个key的值,是增删改查中的“改”,这个命令返回的是修改之前的数值。
    36. 127.0.0.1:6379> getset weight 88
    37. "80"

    在对于过期数据上,有三种策略分别为: 定时删除、惰性删除、定期删除

    二、Redis GEO命令

    经度、纬度

    1.  geoadd :  新增地理位置的坐标

    2.  geopos  :  获取地理位置的坐标

    3.  geodist :  获取两个地理位置的距离

    4.  georadius :  根据给定的经度纬度坐标获取指定范围内的地理位置集合

    5.  georadiusbymember :  根据给定的地理位置获取指定范围内的地理位置集合

    第四个命令和第五个命令的区别只是在于指定圆的圆心的方式不同

    6. geohash :  获取某个地址位置的geohash值

    1. # 1. geoadd 新增地理位置的坐标
    2. 127.0.0.1:6379> geoadd china 116.46 39.92 beijing
    3. (integer) 1
    4. 127.0.0.1:6379> geoadd china 117.2 39.13 tianjin
    5. (integer) 1
    6. 127.0.0.1:6379> geoadd china 121.48 31.22 shanghai
    7. (integer) 1
    8. 127.0.0.1:6379> geoadd china 106.54 29.59 chongqing
    9. (integer) 1
    10. 127.0.0.1:6379> geoadd china 114.17 22.28 Hongkong 113.54 22.19 Macao 121.30 25.03 taiwan
    11. (integer) 3
    12. # 2. 获取地理位置的坐标
    13. 127.0.0.1:6379> geopos china beijing
    14. 1) 1) "116.45999997854232788"
    15. 2) "39.9199990416181052"
    16. 127.0.0.1:6379> geopos china beijing tianjin
    17. 1) 1) "116.45999997854232788"
    18. 2) "39.9199990416181052"
    19. 2) 1) "117.19999998807907104"
    20. 2) "39.12999996316577977"
    21. # 3. 获取两个地理位置的距离,最后的km代表是千米,默认单位为米
    22. 127.0.0.1:6379> geodist china beijing chongqing km
    23. "1461.4332"
    24. # 4. 根据给定的经度纬度坐标获取指定范围内的地理位置集合
    25. # 下例:以116.4639.92为中心,距离在200km以内的地理位置,注意200与km之间是有空格的
    26. 127.0.0.1:6379> georadius china 116.46 39.92 200 km
    27. 1) "beijing"
    28. 2) "tianjin"
    29. # 5. 根据给定的地理位置获取指定范围内的地理位置集合
    30. # 下例:以beijing为中心,距离在200km以内的地理位置,注意200与km之间是有空格的
    31. 127.0.0.1:6379> georadiusbymember china beijing 200 km
    32. 1) "beijing"
    33. 2) "tianjin"
    34. 第四个命令和第五个命令的区别只是在于指定圆的圆心的方式不同
    35. # 6. 获取某个地址位置的geohash值
    36. 127.0.0.1:6379> geohash china beijing
    37. 1) "wx4g455wfe0"

  • 相关阅读:
    LCR 026. 重排链表
    PyIntObject 对象
    GIT 首次提交
    Vue封装的过度与动画
    竞赛 机器视觉的试卷批改系统 - opencv python 视觉识别
    LabVIEW项目中实时目标出现黄色感叹号
    cpe(通用平台枚举)命名规范及python CPE库实战
    十六章:Java8的其它新特性
    CORE: Cooperative Reconstruction for Multi-Agent Perception 论文阅读
    电子电器架构 --- 智能座舱技术分类
  • 原文地址:https://blog.csdn.net/u010566813/article/details/128114490