
Redis
文章平均质量分 53
Redis
小镇攻城狮
吃饭的家伙要拿稳咯
展开
-
【Redis】主从复制
文章目录1 是什么2 能干嘛3 怎么玩3.1 配从(库)不配主(库)3.2 从库配置3.3 修改配置文件细节操作3.4 常用3招3.4.1 一主二仆3.4.2 薪火相传(去中心化)3.4.3 反客为主4 复制原理5 哨兵模式(自动地反客为主)5.1 是什么5.2 怎么玩5.3 一组sentinel能同时监控多个Master6 复制的缺点参考资料1 是什么2 能干嘛读写分离容灾恢复3 怎么玩3.1 配从(库)不配主(库)从库需要配置,主库不需要配置3.2 从库配置slaveof 主库原创 2021-09-06 15:39:14 · 137 阅读 · 0 评论 -
【Redis】消息订阅发布机制(了解)
1 是什么2 命令参考资料1.尚硅谷超经典Redis教程,redis实战,阳哥版从入门到精通原创 2021-09-06 14:12:32 · 146 阅读 · 0 评论 -
【Redis】配置文件redis.conf
文章目录1 配置文件位置2 units单位3 INCLUDES包含4 GENERAL通用5 SECURITY安全6 LIMITS限制7 总结参考资料1 配置文件位置我用的是mac的brew命令安装的,配置文件与redis的安装文件不在一个目录下…redis安装目录:/usr/local/opt/redisredis配置文件目录:/usr/local/etc2 units单位配置大小单位,开头定义了一些基本的度量单位,只支持bytes,不支持bit对大小写不敏感3 INCLUDES包含原创 2021-09-04 17:04:19 · 189 阅读 · 0 评论 -
【Redis】五大常用数据类型
redis命令手册:http://redisdoc.com1 String2 Hash3 List4 Set5 Zset(sorted set)参考资料1.尚硅谷超经典Redis教程,redis实战,阳哥版从入门到精通原创 2021-09-04 10:41:28 · 108 阅读 · 0 评论 -
【Redis】Redis入门
文章目录1 是什么2 能干嘛3 怎么玩4 Redis安装(Linux环境下)4.1 下载获得redis-xxx.tar.gz,将它放入Linux目录/opt4.2 进入redis-xxx目录,执行`make`命令4.3 如果make完成后,继续执行`make install`4.4 查看默认安装目录`/usr/local/bin`5 启动Redis6 Redis启动后杂项基础知识6.1 单进程6.2 默认有16个库6.3 统一密码管理,16个库都是同一密码6.4 Redis索引都是从`零`开始6.5 默认端原创 2021-09-03 14:45:17 · 146 阅读 · 0 评论 -
【NoSQL】NoSQL数据库的四大分类以及CAP原理
1 KV键值2 文档型数据库3 列存储数据库4 图关系数据库5 传统的ACID6 CAPC:Consistency(强一致性)A:Availability(可用性)P:Partition tolerance(分区容错性)关系型数据库ACID四个特性都要满足,NoSQL数据库的CAP特性只能三选二。7 BASE8 分布式+集群参考资料1.尚硅谷超经典Redis教程,redis实战,阳哥版从入门到精通...原创 2021-09-02 21:35:26 · 397 阅读 · 0 评论 -
【Redis】缓存穿透
概念大量请求的key不存在缓存上,导致请求全部转接到数据库上。正常缓存处理流程缓存穿透情况解决办法1 缓存无效key如果缓存和数据库中都没有这个key,就写入到redis中,并设置过期时间,尽量设置短一点。这种方法并不能从根本上解决问题。补充:key的设计方式一般这样设计:表名:列名:主键名:主键值2 布隆过滤器布隆过滤器是一个特殊的数据结构,通过它可以快速判断出,一个特定数据,是否存在于海量数据中。把所有可能存在的请求的key都存放在布隆过滤器中,当用户请求过来,先判断请求的值原创 2021-05-20 18:01:49 · 77 阅读 · 0 评论 -
【Redis】缓存雪崩
概念缓存同一时间大面积失效,导致后面的请求全部转接到数据库上,造成数据库崩溃。解决办法事前:保证整个redis集群的高可用性,发现宕机尽快补上。选择合适的内存淘汰策略。事中:使用本地ehcache缓存和hystrix限流和降级组件,避免MySQL崩掉。事后:利用redis持久化机制保存的数据,尽快恢复缓存。参考资料JavaGuide公众号文章...原创 2021-05-20 17:23:17 · 117 阅读 · 0 评论 -
【Redis】redis事务
mysql中事务具有原子性,一致性,隔离性,持久性。redis中事务具有原子性,一致性,隔离性,当redis运行在某种特定的持久化模式下时,事务也具有持久性。redis同一个事务中,如果有一条命令执行失败,其后的命令仍然会被执行,没有回滚。redis通过MULTI、EXEC、WATCH等命令来实现事务功能。...原创 2021-05-20 15:48:23 · 133 阅读 · 0 评论 -
【Redis】redis数据到了过期时间,怎么删除
我们set key的时候,可以给一个expire time,用来指定这个key可以存活的时间。redis通过定期删除和惰性删除的方式,对过期的key进行删除。定期删除:redis默认每隔100ms,就随机抽取一些设置了过期时间的key,检查其是否过期。惰性删除:定期删除会导致很多到了过期时间,却没有删除的key。当再次查询时,才会删除。参考资料JavaGuide公众号文章...原创 2021-05-20 15:29:47 · 314 阅读 · 0 评论 -
【Redis】redis持久化机制
redis支持两种不同的持久化操作。1 快照(RDB)快照持久化是redis默认采用的持久化操作。redis可以通过快照来获得存储在内存里的数据在某个时间点的副本。可以给其他服务器使用,也可以重启时使用。2 只追加文件(AOF)AOF持久化的实时性更好,是目前的主流方案。有三种方式:appendfsync always:每次有数据修改时,都会写入AOF文件,这样会严重降低redis的速度。appendfsync everysec:每秒同步一次appendfsync no:让操作系统决定何原创 2021-05-20 15:10:30 · 171 阅读 · 0 评论 -
【Redis】redis内存淘汰机制
redis提供6种数据淘汰策略:volatile-lru:从已设置过期时间的数据集中,挑选最近最少使用的数据淘汰。volatile-ttl:从已设置过期时间的数据集中,挑选将要过期的数据淘汰。volatile-random:从已设置过期时间的数据集中,任意选择数据淘汰。allkeys-lru:当内存不足,不能写入新数据时,在键空间中,移除最近最少使用的key。(最常用)allkeys-random:当内存不足,不能写入新数据时,从数据集中任意选择数据淘汰。no-eviction:当内存不足,不原创 2021-05-20 14:41:59 · 87 阅读 · 0 评论 -
【Redis】redis和memcached的区别
现在公司一般用redis来实现缓存redis支持更多的数据类型,String, hash, list, set, zset(即sort set)。memcached仅支持string。redis支持数据的持久化。可以将内存中的数据保存在磁盘中,重启时,可以再次加载使用。而memcached把数据全部存在内存中。redis支持原生集群。memcached不支持原生集群。redis使用单线程的IO复用模型。memcached是多线程的非阻塞IO复用的网络模型。参考资料JavaGuide公众号文原创 2021-05-20 11:15:24 · 144 阅读 · 0 评论 -
【Redis】为什么要使用redis作缓存
1 高性能用户第一次访问数据库中的某些数据时,会从硬盘上读取,速度较慢。随后会将数据存在内存中,下一次再访问这些数据时,可以直接从内存中获取,速度很快。如果数据库中的数据改变,则同步改变缓存中相应的数据即可。2 高并发直接操作内存能够承受的请求是远远大于直接访问数据库的。所以可以把数据库中的部分数据转移到内存中去,这样用户的一部分请求会直接到缓存中,不用经过数据库。3 分布式缓存使用redis或者memcached之类的称为分布式缓存,在多实例的情况下,各实例共用一份缓存数据,缓存具有一致性。原创 2021-05-20 10:46:40 · 1680 阅读 · 0 评论 -
【Redis】本地Redis服务端已启动,但IDEA无法连接上
问题描述运行一个SpringBoot项目,使用到了Redis数据库。在命令行中已经启动了Redis服务端,但是运行项目中的Application.java文件后,显示在端口6379未检查得到Redis服务端启动。解决方法修改Redis配置文件,文件所在位置为:/usr/local/etc/redis.conf修改该文件的两个位置:(1)将bind 127.0.0.1 ::1这一行注释掉(2)将protected-mode yes修改为protected-mode no然后重启Redi原创 2021-03-30 19:58:56 · 5092 阅读 · 0 评论 -
【Redis】mac使用Homebrew安装Redis数据库
1 安装Homebrew2 使用brew命令安装redisbrew install redis经历过换源操作后,这一步很快就能完成。3 配置环境变量# 进入家目录cd# 编辑环境变量文件vim vim .bash_profile在该文件末尾添加一行:export PATH=$PATH:/usr/local/opt/redis/bin/保存后退出,然后运行下面的命令,是环境变量的更改生效。source .bash_profile4 启动redis服务端有两句命令都可以启动原创 2021-03-30 17:31:23 · 2311 阅读 · 2 评论 -
redis基本数据类型(四)------哈希
参考文档:http://redisdoc.com/相关文章:redis基本数据类型(一)------字符串redis基本数据类型(二)------列表redis基本数据类型(三)------集合本文目录:1添加一个新值2.获取哈希中field对应的值3.获取哈希中所有的field和value4判断哈希中是否存在某个field5删除某个field6获取哈希中所有的键值对的数量note:哈希类似于字典1添加一个新值hset key field value# 如hset web原创 2020-05-12 22:46:38 · 194 阅读 · 0 评论 -
redis基本数据类型(三)------集合
参考文档:http://redisdoc.com/相关文章:redis基本数据类型(一)------字符串redis基本数据类型(二)------列表redis基本数据类型(四)------哈希本文目录:1.添加元素2查看元素3移除元素4查看集合中的元素个数5获取多个集合的交集6获取多个集合的并集7获取多个集合的差集note:集合中的元素是无序的;同一个元素在集合中只能保存一份。1.添加元素sadd set value1 value2#例子sadd team tony原创 2020-05-12 22:29:31 · 238 阅读 · 0 评论 -
redis基本数据类型(二)------列表
参考文档:http://redisdoc.com/相关文章:redis基本数据类型(一)------字符串redis基本数据类型(三)------集合redis基本数据类型(四)------哈希本文目录:1.添加元素2.查看列表中的元素3 移除元素4 返回指定元素5.获取列表中元素个数1.添加元素# 在列表左侧添加元素lpush key value# 如lpush list1 1# 在列表右侧添加元素rpush key value# 如rpush list1 2原创 2020-05-12 22:12:00 · 222 阅读 · 0 评论 -
redis基本数据类型(一)------字符串
参考文档:http://redisdoc.com/相关文章:redis基本数据类型(二)------列表redis基本数据类型(三)------集合redis基本数据类型(四)------哈希本文目录:1.添加key2.查看特定的key3.查看所有的key4.设置key的过期时间5. 查看key的过期时间6.删除key1.添加keyset key value# 如set username tony2.查看特定的keyget key# 如get username原创 2020-05-12 21:44:13 · 217 阅读 · 0 评论