redis整理

本文介绍了Redis的基本概念,包括其作为高性能非关系型数据库的角色,以及快速的读写速度。文章详细讲解了Redis在Windows环境下的安装与启动,包括两种启动方法,并列举了常用命令。此外,还探讨了Redis的缓存穿透、缓存击穿和缓存雪崩等特性的解决方案。同时,对比了RDB和AOF两种持久化方式,以及数据恢复的方法。最后,简述了Redis集群和事务的使用。
摘要由CSDN通过智能技术生成

redis还是要会的

  • 欢迎来访我的个人博客Mosey

redis是什么

  • redis是一个高性能的非关系型数据库,相对于普通的关系型数据库,redis的数据储存在缓存中,
    读(110000次/s)写(81000次/s )数据非常快,Redis也支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。

redis数据类型了解一下

  • String: 字符串
  • Hash: 散列
  • List: 列表
  • Set: 集合
  • Sorted Set: 有序集合

redis的安装和简单使用(windows环境下)

安装

  1. 下载地址:https://github.com/tporadowski/redis/releases。
  2. 下载 Redis-x64-xxx.zip压缩包并解压到D:\redis

启动(两种方式)

  • 启动方法有cmd命令启动和exe文件启动。其实他们都一样,命令只是暗地里操作exe文件启动而已。
  • 启动成功标志,出现6379
方式一
  • 因没有配置redis的环境变量,所以使用cmd命令启动时要注意切换到redis的安装目录(解压目录)D:\redis,

  • 输入redis-server.exe redis.windows.conf回车,会生成一个窗口,注意不要关闭这个服务端窗口。
    服务端启动成功标志

  • 然后再重新打开一个cmd窗口,输入redis-cli.exe -h 127.0.0.1 -p 6379,用于打开redis客户端,可查看redis相关信息和命令练习
    客户端登录成功

方式二
  • exe文件启动,按照下图顺序启动服务端和客户端
    exe文件启动

redis常用命令学习总结

  • redis共有16个库,顺序从下标0开始。默认是第一个库,如要切换库,则要使用命令select index 例如:select 1代表切换到第二个库。
  • 查看库中所有的键: keys *
  • 命令太多要清屏: clear

老老实实做一个redis练习生

会唱、跳、rap、篮球还不够,还要会redis基础命令,下面是每个类型相关。

redis的几个特性理解

  1. 缓存穿透 、
    • 是指当Redis缓存中的key不存在value值时,就会请求到后台去查询数据库,如果并发量很高,就会造成数据库宕机
    • 解决办法:法1:查到空数据也进行缓存,但要求设置很短的过期时间,一般为几分钟。法二:布隆过滤器
  2. 缓存击穿
    • 是指Redis缓存中的key存在value值,但是过期了,该请求还是会去后台请求查询数据库,如果并发量很高同时查询同一条数据,也会造成数据库宕机。
    • 解决办法:法一:直接设为永不过期就。法二:加互斥锁
  3. 缓存雪崩 、
    • 是指多条或者无数条数据过期了,造成系统崩溃(例如:热点商品秒杀)
    • 解决办法:
      • 法一:直接设为永不过期就。
      • 法二:随机过期(过期一部分,目的防止同一时间大量数据过期现象发生。)

Redis持久化的rdb方式和aof方式备份的区别

  • RDB每隔一段时间进行备份,AOF每时每刻在写操作时进行备份,所以AOF备份出来的文件比RDB的要大,数据完整性也比RDB的要好。不过官方建议同时开启这两种持久化
  • Redis 默认的持久化方式是 RDB ,并且默认是打开的
  • 在配置文件中满足这些条件就会触发RDB备份操作
save 900 1
save 300 10
save 60 10000
  • 如果要开启AOF备份,则要在配置文件中把 appendonly 改为 yes开启
  • AOF备份有三种方式,在配置文件中选择其中一种即可
# appendfsync always       //实时,每个操作都会备份(IO开销大)    
appendfsync everysec      //每秒,redis宕机会丢失一秒的数据(建议使用)
# appendfsync no	          

Redis数据恢复

  • 如果有AOF文件,优先恢复AOF,没有则恢复RDB文件

Redis集群

集群定义

  • 所谓的集群,就是通过添加多个相同的服务器,防止某台服务器发生事故,导致系统不能正常运行,从而让服务器达到一个稳定、高效的状态。
    • 主从复制、
      • 主库可读、可写。从库只读不写,所以可以把查询统统交给从库,增删改就交给主库。
      • ps:Master主库有且仅有一个,建议从库最少设置两个
    • 哨兵模式、
      • 因为主从复制集群有一个致命的缺点,那就是主库发生故障,就不能进行增删改了,所以就产生了哨兵模式,
      • 所谓的哨兵模式,就是当主库发生故障后,哨兵会在所有的从库中,自动选举一个新的库作为主库来进行增删改操作。

集群搭建

Redis事务

  • 相关命令:
multi               //开启事务
set .......        //数据库操作入队
exec/discard      //执行或取消队列
  • PS:Redis不支持事务回滚,队列中的某一个操作失败,其它的剩余操作照样执行,因为Redis认为这种错误应该发生在开发环境中,不应该出现在正式环境中,Redis并不帮程序员解决他造成的错误
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值