
Redis
文章平均质量分 88
redis技术
小鲸鱼大梦想
心怀若谷,无风自渡
展开
-
Redis系列三 | 配置文件和事务
乐观锁:很乐观,任务任何时候都不会出现问题,所以不会上锁,更新数据的时候去判断一下,在此期间,是否有人修改过这个数据,mysql用的version字段!持久化,在规定的时间内,执行了多少次操作,则会持久化到文件,.rdb .aof,如果没有持久化,那么数据就会断电及失。Redis事务本质:一组命令的集合!一个事务中的所有命令都会被序列化,事务执行中,按照顺序执行。认为任何时候都会出现问题,无论做什么都加锁,影响性能。Redis单条命令保证原子性,但是事务不保证原子性!启动时候就是通过配置文件来启动的。原创 2023-02-05 00:17:08 · 171 阅读 · 0 评论 -
Redis系列一 | 入门概述与安装
单机mysql时代:90年代,一个基本的网站访问量不会太大,单个数据库足够!更多的使用静态网页html数据量太大,一个机器放不下数据的索引,一个机器的内存也放不下访问量太大,读写混合,性能问题memcached(缓存)+mysql+读写分离(垂直拆分)网站百分之80情况都是在读,每次都要去数据库查询太麻烦,减轻数据库的压力,可以使用缓存来保证效率(Cache)-------解决读的问题发展过程:优化Mysql底层结构和索引–>文件缓存(IO操作)—>Memcached 当时最热门的技术。原创 2023-02-05 00:08:07 · 277 阅读 · 0 评论 -
Redis系列五 | 主从复制和哨兵模式
主从切换技术的方式是:当主服务器宕机后,需要手动把一台服务器切换为主服务,这就需要人工干预,费时费力,还会造成一段时间内服务不能使用。这不是一种推荐的方式,更多的是我们考虑哨兵模式,Redis从2.8开始正式提供Sentinel(哨兵)架构来解决这个问题。能够后台监控主机是否故障,如果故障了根据投票数自动将从库转换为主库哨兵模式是一种特殊的模式,首先Redis提供了哨兵的命令,是一个独立的进程,作为进程,它会独立运行。原理是哨兵通过发送命令,等待Redis服务器响应,从而监控运行的多个Redis实例。原创 2023-02-05 00:22:32 · 257 阅读 · 0 评论 -
Redis系列六 | 缓存穿透和雪崩
Redis缓存的使用,极大的提升了应用程序的性能和效率,特别是数据查询方面,但同时也会带来一些问题,其中,最要害的就是数据的一致性问题,从严格意义上来讲,这个问题无解,如果对数据一致性要求较高的,那么就不能使用缓存。在即将发生大并发访问前手动触发加载缓存不同的key,设置不同的过期时间,让缓存失效的时间点尽量均匀。缓存击穿是指一个key非常热点,在不停的扛着大并发, 大并发集中对这一个点进行访问,当这个key在失效的瞬间,持续的大并发就会穿破缓存,直接请求数据库,就像在一个屏障上凿开了一个洞。原创 2023-02-05 00:25:16 · 93 阅读 · 0 评论 -
Redis系列二 | 数据类型和基础知识
它支持多种类型的数据结构,如 字符串(strings), 散列(hashes), 列表(lists), 集合(sets), 有序集合(sorted sets) 与范围查询, bitmaps, hyperloglogs 和 地理空间(geospatial) 索引半径查询。核心:Redis是将所有数据放在内存中的,所以说使用单线程去操作效率就是最高的,因为多线程会产生CPU上下文切换,消耗时间的操作,对于内存系统来说,没有上下文切换,效率就是最高的,多次读写都是在一个CPU上的。高性能服务器一定是多线程的?原创 2023-02-05 00:12:32 · 104 阅读 · 0 评论 -
Redis系列四 | 持久化和发布订阅
以日志的形式来记录每个操作,将redis执行过的所有指令记录下来(读操作不会记录),只许追加文件但不可改写文件,redis启动之后会读取文件重新构建数据,换言之,redis重启的话根据日志文件的内容将写指令从前到 后执行一次以完成数据的恢复工作。AOF持久化方式记录每次对服务器写的操作,当服务器重启的时候会重新执行这些命令来恢复原始的数据,AOF命令以Redis协议追加保存每次写的操作到文件末尾。(俺也不懂C,俺也不是开发,咋整)如果你只希望你的数据在服务器运行的时候存在,你也可以不使用任何持久化方式.。原创 2023-02-05 00:19:11 · 334 阅读 · 0 评论