码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • redis的详细介绍与操作命令


     前言:

            redis是缓存,常用的一些数据,我们为了提升接口效率,缓存是必须的功能。

    一、具体介绍

    1、Redis为什么这么快

    • Redis是纯内存操作,需要的时候需要我们手动持久化到硬盘中
    • Redis是单线程,从而避开了多线程中上下文频繁切换的操作。
    • Redis数据结构简单、对数据的操作也比较简单
    • 使用底层模型不同,它们之间底层实现方式以及与客户端之间通信的应用协议不一样,Redis直接自己构建了VM 机制 ,因为一般的系统调用系统函数的话,会浪费一定的时间去移动和请求
    • 使用多路I/O复用模型,非阻塞I/O

    2、Redis地址

    • 官网地址:https://redis.io/
    • redis中文地址:https://redis.io/
    • 命令地址:http://doc.redisfans.com/

    3、安装详细教程:

    https://blog.csdn.net/weixin_44727080/article/details/125988527icon-default.png?t=M666https://blog.csdn.net/weixin_44727080/article/details/125988527

    4、Redis的配置文件

    /etc/redis/redis.conf

    1. 当redis作为守护进程运行的时候,它会写一个 pid 到 /var/run/redis.pid 文件里面。
    2. daemonize no
    3. 监听端口号,默认为 6379,如果你设为 0 ,redis 将不在 socket 上监听任何客户端连接。
    4. port 6379
    5. 设置数据库的数目。
    6. databases 16
    7. 根据给定的时间间隔和写入次数将数据保存到磁盘
    8. 下面的例子的意思是:
    9. 900 秒内如果至少有 1 个 key 的值变化,则保存
    10. 300 秒内如果至少有 10 个 key 的值变化,则保存
    11. 60 秒内如果至少有 10000 个 key 的值变化,则保存
    12. save 900 1
    13. save 300 10
    14. save 60 10000
    15. 监听端口号,默认为 6379,如果你设为 0 ,redis 将不在 socket 上监听任何客户端连接。
    16. port 6379
    17. bind 127.0.0.1 //Redis默认只允许本地连接,不允许其他机器连接

    5、Redis数据库简单使用:

    dbsize  查看当前数据库的key数量
    keys *     查看所有的key的内容
    flushdb 清空当前数据库的key的数量
    flushall 清空所有库的key
    exists key 判断key是否存在
    type key 查看数据的类型
    setex key second value 设置key、value并创建出来
    ttl key 查看多久后过期
    expire key second 设置key过期时间

    二、具体操作:增删改查  这里重点介绍string

    1、string 类型的数据

    增(增key):append key  keyName

    改(改key对应的值):set key value

    改多个:set key1  value1   key2  value2

    查(查key对应的值):get key

    查多个:mget  key1  key2  key3

    删:del  key1  key2

    返回字符串长度:strlen  key

    依次增1:   incr  key   value    比如: incr  num      结果:num就变成了原来数据+1

    依次减1:  decr  key   value   比如: incr  num      结果:num就变成了原来数据-1

    规定加多少:incrby key  3

    规定减多少:decrby key 2

    获取指定下标范围内的字符串:getrange key  start  end

    从第几位开始就开始替换: setrange  key 下标num  内容

    例如:setrange  key 5  demo    结果:"smalldemo"

    2、list类型

    根据索引来给出相对应的值:lindex list 0      类似我们 取list[0]

    从左获取长度(倒序排序):lpush  list

    3、hash类型:

    ...

    4、set  集合:

    通过使用sadd命令,用户可以将一个或多个元素添加到集合中:sadd  集合1  集合2  集合3

    更多资料:

    Redis-增删改查_Small-J的博客-CSDN博客_redis增删改查Redis基础介绍随着互联网+大数据时代的来临,传统的关系型数据库已经不能满足中大型网站日益增长的访问量和数据量。这个时候就需要一种能够快速存取数据的组件来缓解数据库服务I/O的压力,来解决系统性能上的瓶颈。数据库的发展历史在互联网+大数据时代来临之前,企业的一些内部信息管理系统,一个单个数据库实例就能满足系统的需求单数据库实例随着系统访问用户的增多,数据量的增大,单个数据库实例已经满足不了系统的读取需求缓存(memcache)+单数据库实例缓存可以缓解系统的读取压力,https://blog.csdn.net/qq_37662827/article/details/115338413

  • 相关阅读:
    Sql case函数
    【云原生】zookeeper + kafka on k8s 环境部署
    用 Java 实现阻塞队列
    Java2EE基础练习及面试题_chapter05面向对象(中_03)
    关于共识算法
    【C++】1067:整数的个数(信息学奥赛)
    运动健康服务场景事件订阅,让应用推送“更懂用户”
    【Java 进阶篇】使用 Java 和 Jsoup 进行 XML 处理
    QT之UDP通信
    黑马点评-05缓存穿透问题及其解决方案,缓存空字符串或使用布隆过滤器
  • 原文地址:https://blog.csdn.net/weixin_44727080/article/details/126226855
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号