Redis学习之路
文章平均质量分 56
关于Redis那些事
M风景
以前梦想看遍天下风景,因为拥有你。现在,只想仗剑走天涯,再寻初心~
展开
-
IO多路复用
在Linux上的IO多路复用方案有三种,select,poll,epoll select poll epoll原创 2022-02-28 19:36:44 · 279 阅读 · 0 评论 -
Redis部署模式
单机模式 一个单节点,提供读写服务 主从模式 主从模式设置一台主库,一台或多台从库,主库进行读写操作,从库进行备份操作,主库的写操作会同步到从库。还可以实现读写分离,主库用于写数据,从库用于读数据。 如果从库宕机,不影响其他的从库和主库;如果主库宕机,集群不能执行写操作,但可以正常读。 主从同步的步骤 哨兵模式 当主库遇到异常中断服务后,开发者可以通过手动的方式选择一个从库来升格为主库,以使得系统能够继续提供服务。然而整个过程相对麻烦且需要人工介入操作,难以实现服务的自动化恢复。为此Redis 2.8中提供原创 2022-02-28 19:35:17 · 494 阅读 · 0 评论 -
Redis使用方法总结
Jedis 介绍 项目地址: https://github.com/redis/jedis Jedis is a blazingly small and sane Redis java client. Jedis was conceived to be EASY to use. Jedis is fully compatible with redis 2.8.x, 3.x.x and above*. Jedis 是Redis的Java实现的客户端。支持基本的数据类型如:String、Hash、List、Se原创 2022-02-28 19:28:10 · 739 阅读 · 0 评论 -
Redis数据持久化和主从数据同步
Redis数据持久化方式 RDB 全称Redis DataBase AOF 全称 Append Of File RDB和AOF工作原理 RDB RDB工作原理是借助后台的bgsave命令去fork()一个子线程,fsync保存文件到磁盘上,是当前系统的一个快照 a. Redis执行bgsave命令,Redis判断是否有正在执行的bgsave命令 b. fork子进程 c. fork完成 d. 子进程对内存数据进行快照生成文件 e. 子进程告诉父进程完成 实现rdb的方式 a. save b. bg原创 2021-03-27 12:00:22 · 271 阅读 · 0 评论 -
Redis分布式锁
分布式锁三大要义 独享 (同一把锁只会被一个线程获取) 不会死锁(超时释放) 容错 节点存活就可以被获取到锁 常用的redis分布式锁实现方案 设置锁 set key value px 3000 nx 释放锁,需要用lua脚本来实现,为什么用lua,因为redis是单线程的,get 和del不是原子操作 if redis.call(‘get’,KEYS[1] ==ARGV[1]) then return redis.call(‘del’,KEYS[1]) else return 0 end 这里三原创 2021-03-26 17:16:10 · 232 阅读 · 0 评论 -
Redis为什么那么快
Redis多路复用模型 提到redis,我们就能想到快,但是,反问一下,单线程的redis为什么这么快? 这个问题有几个关键字,单线程,redis,快,我们依据这几个关键字一一分析 单线程 多线程可以提升系统的吞吐率,但并不是线性提升的,线程数增加,会增加对于共享资源管控的消耗 并发访问控制会增加系统的复杂度和降低可维护性 Redis Redis的单线程主要是指Redis的网络IO和键值对读写是由一个线程来完成,像其他的数据持久化,异步复制,集群数据同步都是由其他的线程执行的 Redis原创 2021-03-18 19:06:58 · 228 阅读 · 0 评论