码农知识堂 - 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

  • 相关阅读:
    浅谈 MySQL 连表查询
    短视频矩阵系统源码----技术独立部署搭建
    Python Web开发记录 Day9:Django part3 用户管理
    基于 SpringBoot+Vue 的企业人事管理系统
    matlab检索相似图像
    常用lambda表达式
    国产开源无头CMS,MyCms v4.7 快捷生成接口开发后台
    计算机网络:信道划分介质访问控制
    c语言练习85:通讯录的实现(基于顺序表实现)
    2023最新SSM计算机毕业设计选题大全(附源码+LW)之java情报综合管理系统36zgo
  • 原文地址:https://blog.csdn.net/weixin_44727080/article/details/126226855
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | 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号