Redis
文章平均质量分 84
redis
编程芝士
字节跳动后端工程师,测控专业转程序员,努力努力,为了家人和蝈蝈!
展开
-
【Redis】缓存预热、缓存雪崩和缓存击穿
缓存预热现象:服务器启动后迅速宕机。问题排查请求数量较高主从之间数据吞吐量较大,数据同步操作频度较高解决方案前置准备工作:日常例行统计数据访问记录,统计访问频度较高的热点数据如果热点数据量较大,利用LRU数据删除策略,构建数据留存队列(手工维护或storm+kafka等)启动前准备工作:将统计结果中的数据分类,根据级别,redis优先加载级别较高的热点数据利用分布式多服务器同时进行数据读取,提速数据加载过程实施:使用脚本程序固定触发数据预热过程如果条件允许,使用CDN(内容原创 2020-07-25 19:43:23 · 799 阅读 · 0 评论 -
【Redis】哨兵模式(redis sentinel)
Master如果发送宕机需要做下面这些事情:将宕机的master下线找一个slave作为master通知所有的slave连接新的master启动新的master与slave全量复制*N+部分复制 *N什么是redis sentinel哨兵(sentinel)在redis集群架构中是一个非常重要的组件,其主要功能有下面这些:监控不断的检查master和slave是否正常运行master存活检测、master与slave运行情况检测通知(提醒)当被监控的服务器出现问题时,向原创 2020-05-30 21:56:33 · 738 阅读 · 0 评论 -
【Redis】主从复制
单机redise风险与问题问题1 机器故障现象:硬件故障、系统崩溃本质:数据丢失,很可能对业务造成灾难性打击结论:基本上会放弃使用redis问题2 容量瓶颈现象:内存不足,从16G升级到64G,无线升级内存本质:穷,硬件条件跟不上结论:放弃使用redis为了避免单点redis服务器故障,准备多台服务器,互相连通。将数据复制多个副本保存在不同的服务器上,链接在一起,并保证数据是否同步的,即使有其中一台服务器宕机,其他服务器依然可以继续提供服务,实现Redis的高可用,同时实现数据冗余原创 2020-05-30 21:05:09 · 546 阅读 · 0 评论 -
【Redis】配置文件详解
Redis配置文件样例# Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程(开机自启动)# 启用守护进程后,Redis会把pid写到一个pidfile中,在/var/run/redis.piddaemonize no# 当Redis以守护进程方式运行时,Redis默认会把pid写入/var/run/redis.pid文件,可以通过pidfile指定pidfile /var/run/redis.pid# 指定Redis绑定的端口,默认端口为6379# 如果转载 2020-05-30 16:04:44 · 321 阅读 · 0 评论 -
【Redis】删除策略
Redis中的数据特征Redis是一种内存级数据库,所有数据均存放在内存中,内存中的数据可以通过TTL指令获取其状态:XX : 具有时效性的数据1 : 永久有效的数据2 : 已经过期的数据 或 被删除的数据 或 未定义的数据数据删除策略一共有三种:定时删除惰性删除定期删除时效性数据的存储结构数据删除策略的目标在内存占用与CPU占用之间寻找一种平衡,顾此失彼都会造成整体redis性能的下降,甚至引发服务器宕机或内存泄漏。定时删除创建一个定时器,当key设置有过期时间,且过原创 2020-05-29 22:45:00 · 342 阅读 · 0 评论 -
【Redis】事务
Redis的事务和关系型数据库的区别Redis的事务和传统关系数据库的事务并不相同。在关系数据库中,用户首先向数据库服务器发送begin,然后执行各个相五一致( consistent )的写操作和读操作,最后,用户可以选择发送commit来确认之前所做的修改,或者发送rollback来放弃那些修改。在Redis 里面也有简单的方法可以处理一连串相互一致的读操作和写操作。Redis 的事务以特殊命令multi为开始,之后跟着用户传入多个命令,最后以exec 为结束。但是由于这种简单的事务在EXEC 命令被原创 2020-05-29 22:01:21 · 735 阅读 · 0 评论 -
【Redis】持久化
持久化简介什么是持久化利用永久性存储介质将数据进行保存,在特定的事件将保存的数据进行恢复的工作机制称为持久化。为什么要持久化防止数据的意外丢失,确保数据安全性持久化的过程保存什么RDB: 将当前数据状态进行保存,快照形式,存储数据结果,存储而是简单,关注点在数据。它可以将存在于某一时刻的所有数据都写人硬盘里面。AOF:将数据的操作过程进行保存,日志形式,存储操作过程,存储格式复杂,关注点在数据的操作过程,它会在执行写命令时,将被执行的写命令复制到硬盘里面。这两种持久化方法既可以同时使用,又可原创 2020-05-29 20:48:48 · 418 阅读 · 0 评论 -
【Redis】 jedis操作redis数据库
Jedis是什么Jedis是Redis官方推荐的Java连接开发工具。要在Java开发中使用好Redis中间件,必须对Jedis熟悉才能写成漂亮的代码。入门案例在maven中导入Jedis的坐标。 <dependencies> <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artif原创 2020-05-29 16:17:50 · 247 阅读 · 0 评论 -
【Redis】通用命令
Key通用命令key的特征key是一个字符串,通过key获取redis中保存的数据key应该设计那些操作?对于key自身状态的相关操作,例如:删除,判定存在,获取类型等对于key有效性控制相关操作,例如:有效期设定,判定是否有效,有效状态的切换等于key快速查询操作,例如:按指定策略查询keykey的基本操作删除指定keydel key获取key是否存在exists key获取key的类型type keykey扩展操作-时效性控制为指定key设置有效期expire原创 2020-05-25 23:47:46 · 180 阅读 · 0 评论 -
【Redis】五种数据类型及其使用场景
Redis 数据类型五种类型与类比java的模型string --> Stringhash --> Hashmaplist --> LinkListset --> HashSetsorted_set --> TreeSetString类型redis 数据存储格式redis自身是一个Map类型的存储方式,其中所有的数据都是采用key:value的形式存储我们讨论的数据类型指的是存储的数据的类型,也就是value部分的类型,key部分永远都是字符串St原创 2020-05-25 22:58:57 · 52152 阅读 · 24 评论 -
【Redis】入门简介
问题引入问题现象访问用户过多高并发罪魁祸首性能瓶颈:磁盘IO性能低下扩展瓶颈:数据关系复杂,扩展性差,不便于大规模集群解决思路降低磁盘IO次数,越低越好 —— 内存存储去除数据间的关系,越简单越好 —— 不存储关系,仅存储数据Nosql即Not-OnlySQL(泛指非关系型的数据库),作为关系型数据库的补充,并不特指一个数据库。作用:应用对于海量用户和海量数据前提吓得数据处理问题。特征可扩容,可伸缩大数据量下得高性能灵活得数据模型高可用你知道哪些常见No原创 2020-05-24 22:50:10 · 191 阅读 · 0 评论