码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Redis


    目录

    Redis介绍

    启动redis 并连接

    benchmark 压力测试工具

    Redis

     select  切换数据库          DBSIZE  查看DB大小

    set key value

    keys  * 查看数据库中所有的key

    ​编辑

    flushdb  清空当前库的内容

     FLUSHALL   清空所有库的内容

     Redis-key常用命令集合

    Redis是单线程的

    Redis为什么单线程还这么快?

    Redis的五大数据类型

    1.String

    设value

    ​编辑

     自增自减 指定增减量

     字符串范围range  截取GETRANGE

    替换 SETRANGE

     

     setex 设置过期时间      setnx不存在再设置

     mset mget同时设置 获取多个值​编辑

     set 高阶用法

    ​编辑

    getset  先get然后再set

    ​编辑

    使用场景

    2.List

    3.Set

    4.Hash

    5.Zset

    三种特殊的数据类型


    Redis介绍

    可以用作key - value 键值对数据库 、 缓存 、  消息中间件MQ

    启动redis 并连接

    redis-server redis-config/redis.conf

    redis-cli -p 6379

    再开一台服务器检查是否启动成功

    benchmark 压力测试工具

    是官方自带的性能测试工具

       

    可见redis是真滴快!

    Redis

    Redis有16个数据库,默认是第0个

    默认端口号是6379   因为redis作者的偶像名字在手机9键打出来是6379

     select  切换数据库          DBSIZE  查看DB大小

    set key value

    get 根据key读取value的值

     

    keys  * 查看数据库中所有的key

    flushdb  清空当前库的内容

     FLUSHALL   清空所有库的内容

     

     Redis-key常用命令集合

    1. 127.0.0.1:6379> ping #查看当前连接是否正常,正常返回PONG
    2. PONG
    3. 127.0.0.1:6379> clear #清楚当前控制台(为了更好的看到下面输入的命令)
    4. 127.0.0.1:6379> keys * #查看当前库里所有的key
    5. 1) "db"
    6. 127.0.0.1:6379> FLUSHALL #清空所有库的内容
    7. OK
    8. 127.0.0.1:6379> keys *
    9. (empty array)
    10. 127.0.0.1:6379> set name dingdada #添加一个key为‘name’ value为‘dingdada’的数据
    11. OK
    12. 127.0.0.1:6379> get name #查询key为‘name’的value值
    13. "dingdada"
    14. 127.0.0.1:6379> keys *
    15. 1) "name"
    16. 127.0.0.1:6379> set name1 dingdada2
    17. OK
    18. 127.0.0.1:6379> get name1
    19. "dingdada2"
    20. 127.0.0.1:6379> keys * #查看当前库里所有的key
    21. 1) "name1"
    22. 2) "name"
    23. 127.0.0.1:6379> EXISTS name #判断当前key是否存在
    24. (integer) 1
    25. 127.0.0.1:6379> move name 1 #移除当前库1的key为‘name‘的数据
    26. (integer) 1
    27. 127.0.0.1:6379> keys *
    28. 1) "name1"
    29. 127.0.0.1:6379> FLUSHALL #再次清空所有库的内容
    30. OK
    31. ## 多加几条数据 下面测试设置key的过期时间
    32. 127.0.0.1:6379> set name dingdada
    33. OK
    34. 127.0.0.1:6379> set name1 dingdada1
    35. OK
    36. 127.0.0.1:6379> set name2 dingdada2
    37. OK
    38. 127.0.0.1:6379> EXPIRE name 15 #设置key为’name‘的数据过期时间为15秒 单位seconds
    39. (integer) 1
    40. 127.0.0.1:6379> ttl name #查看当前key为’name‘的剩余生命周期时间
    41. (integer) 13
    42. 127.0.0.1:6379> ttl name
    43. (integer) 12
    44. 127.0.0.1:6379> ttl name
    45. (integer) 11
    46. 127.0.0.1:6379> ttl name
    47. (integer) 8
    48. 127.0.0.1:6379> ttl name
    49. (integer) 6
    50. 127.0.0.1:6379> ttl name
    51. (integer) 3
    52. 127.0.0.1:6379> ttl name
    53. (integer) 2
    54. 127.0.0.1:6379> ttl name
    55. (integer) 1
    56. 127.0.0.1:6379> ttl name
    57. (integer) 0
    58. 127.0.0.1:6379> ttl name #如若返回-2,证明key已过期
    59. (integer) -2
    60. 127.0.0.1:6379> get name #再次查询即为空
    61. (nil)
    62. 127.0.0.1:6379> type name1
    63. string
    64. 127.0.0.1:6379>

     单点登录:设置过期时间

    Redis是单线程的

    Redis是很快的,官方表示,Redis是基于内存操作,CPU不是Redis性能瓶颈,Redis的瓶颈是根据机器的内存和网络带宽,既然可以使用单线程,所以就使用了单线程。

    Redis为什么单线程还这么快?

    速度  CPU>内存>硬盘

    核心:redis是将所有的数据放在内存中的,所以说使用单线程去操作效率就是最高的,多线程的话CPU会上下文切换 这是耗时的操作,对于内存系统来说,没有上下文切换效率就是最高的。多次读写都是在一个CPU上的,在内存情况下,这个就是最佳的。

    Redis的五大数据类型

    Redis(一)入门:五大数据类型的学习和理解①_大鱼等于负的博客-CSDN博客

    1.String

    设value

     自增自减 指定增减量

     字符串范围range  截取GETRANGE

    替换 SETRANGE

     

     setex 设置过期时间      setnx不存在再设置

     mset mget同时设置 获取多个值

     set 高阶用法

    getset  先get然后再set

    使用场景

    2.List

    3.Set

    4.Hash

    5.Zset

    三种特殊的数据类型

    geospatial  地理位置空间

    hyperloglog

    bitmaps

  • 相关阅读:
    mac 2k显示器 配置
    iOS动画相关
    Python - flask后端开发笔记
    mongoose 源码解读(一)
    Abbkine IFKine驴抗小鼠IgG二抗,绿色荧光标记方案
    UNIAPP实战项目笔记38 购物车的添加商品到购物车功能
    总结:shell中的if条件判断
    Cholesterol-PEG-Azide CLS-PEG-N3 胆固醇-聚乙二醇-叠氮 MW:3400
    【C++】树?堆?怎么实现?
    机器学习——聚类分析
  • 原文地址:https://blog.csdn.net/m0_56017821/article/details/126325680
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号