redis学习笔记
Linsanity2021
这个作者很懒,什么都没留下…
展开
-
Redis个人学习笔记10---Redis缓存穿透和雪崩
根据b站UP主狂神说Redis课程所写的个人学习笔记视频地址:https://www.bilibili.com/video/BV1S54y1R7SB缓存穿透(查不到导致)用户想要查询一个数据,发现redis内存数据库没有,也就是缓存没有命中,于是向持久层数据库查询。发现也没有,于是本次查询失败。当用户很多的时候,缓存都没有命中,于是都去请求了持久层数据库。这会给持久层数据库造成很大的压力,这时候就相当于出现了缓存穿透。解决方案:1.布隆过滤器是一种数据结构对,所有可能查询的参数以hash形原创 2020-08-22 00:51:15 · 97 阅读 · 0 评论 -
Redis个人学习笔记10---Redis主从复制
根据b站UP主狂神说Redis课程所写的个人学习笔记视频地址:https://www.bilibili.com/video/BV1S54y1R7SB主从复制,读写分离,减缓服务器的压力主从复制的主要作用:1.数据冗余:主从复制实现了数据的热备份,是持久化之外的一种数据冗余方式。2.故障恢复:当主节点出现问题时,可以由从节点提供服务,实现快速的故障恢复;实际上是一种服务的冗余。3.负载均衡:在主从复制的基础上,配合读写分离,可以由主节点提供写服务,由从节点提供读服务(即..原创 2020-08-21 22:23:09 · 351 阅读 · 0 评论 -
Redis个人学习笔记9---Redis发布订阅
根据b站UP主狂神说Redis课程所写的个人学习笔记视频地址:https://www.bilibili.com/video/BV1S54y1R7SBRedis发布订阅是一种消息通信模式Redis客户端可以订阅任意数量的频道第一个:消息发送者第二个:频道第三个:消息订阅者测试:订阅端:127.0.0.1:6379> subscribe linReading messages... (press Ctrl-C to quit)1) "subscribe".原创 2020-08-21 15:05:33 · 96 阅读 · 0 评论 -
Redis个人学习笔记8---Redis持久化
根据b站UP主狂神说Redis课程所写的个人学习笔记视频地址:https://www.bilibili.com/video/BV1S54y1R7SB图片来源于百度RDB机制RDB持久化方式能够在指定的时间间隔能对你的数据进行快照存储。redis会单独创建(fork)一个子进程来进行持久化,会将数据写入到一个临时rdb文件中,待持久化过程结束后,再用这个临时文件替换上次持久化好的文件,成为正式的rdb文件,子线程退出。缺点是最后一次持久化后的数据可能丢失。在生产环境需要备份rdb保原创 2020-08-21 12:32:15 · 131 阅读 · 0 评论 -
Redis个人学习笔记7---Redis.conf
启动的时候通过配置文件来启动1.配置文件unit单位对大小写不敏感包含类似于import网络bind 127.0.0.1 绑定ipprotected-mode yes 保护模式port 6379 端口号通用 generaldaemonize yes 以守护进程的方式运行,默认为no,自己开启为yespidfile /var/run/redis_6379.pid 如果以后台方式运行,需要指定一个pid文件日志# Specif...原创 2020-08-20 22:43:51 · 122 阅读 · 0 评论 -
Redis个人学习笔记6---Springboot整合
根据b站UP主狂神说Redis课程所写的个人学习笔记视频地址:https://www.bilibili.com/video/BV1S54y1R7SBspringboot操作数据:spring-data jpa jdbc mongodb redisspringdata也是和springboot齐名的项目新建一个springboot项目,在nosql分类中勾选redis在springboot2.x之后,原来使用的jedis被替换为了lettucejedis:采用的直连,多个线程操作是不安原创 2020-08-20 15:59:37 · 195 阅读 · 0 评论 -
Redis个人学习笔记5---Jedis
根据b站UP主狂神说Redis课程所写的个人学习笔记视频地址:https://www.bilibili.com/video/BV1S54y1R7SBJedis用java来操作Redis测试1.新建一个 maven项目,导入jedis和fastjson包<dependencies> <dependency> <groupId>redis.clients</groupId> <artifact原创 2020-08-20 02:11:09 · 129 阅读 · 0 评论 -
Redis个人学习笔记5---事务
事务Redis事务本质是一组命令的集合,一个事务中的所有命令都会被序列化,在事务执行的过程中,会按照顺序执行一次性、顺序性、排他性 执行一些列的命令Redis事务没有隔离级别的概念所有的命令在事务中并没有直接被执行,只有发起执行命令的时候才会执行Redis单条命令是保证原子性的,但是事务不保证原子性redis的事务:*开启事务(multi)*命令入队(...)*执行事务(exec)正常执行事务127.0.0.1:6379> multiOK127.0.0.原创 2020-08-19 23:38:59 · 75 阅读 · 0 评论 -
Redis个人学习笔记4---三种特殊数据类型之Bitmaps
根据b站UP主狂神说Redis课程所写的个人学习笔记视频地址:https://www.bilibili.com/video/BV1S54y1R7SB位存储:统计用户信息,活跃,不活跃,登录,未登录,打卡,365打卡Bitmaps 位图 只有1和0两个状态365天 = 365bit 1字节= 8bit 46个字节左右例:用bitmap来记录周一到周日的打卡打卡为1,未打卡为00-6表示周一到周日127.0.0.1:6379> setbit sign 0 0(inte原创 2020-08-19 16:24:02 · 68 阅读 · 0 评论 -
Redis个人学习笔记4---三种特殊数据类型之Hyperloglog
根据b站UP主狂神说Redis课程所写的个人学习笔记视频地址:https://www.bilibili.com/video/BV1S54y1R7SB基数(不重复的元素)简介:redis hyperloglog 基数统计的算法优点:占用的内存是固定的,2^64 不同的元素的技术,只需要12kb的内存,如果从内存角度比较的话hyperloglog是首选网页uv(一个人访问多次网站,但只算一个人)传统方法:set保存用户id,然后就可以统计set中元素数量作为判断标准这个方式如果保原创 2020-08-19 15:49:38 · 117 阅读 · 0 评论 -
Redis个人学习笔记4---三种特殊数据类型之地理位置
根据b站UP主狂神说Redis课程所写的个人学习笔记视频地址:https://www.bilibili.com/video/BV1S54y1R7SBgeospatial 地理位置朋友的定位,附近的人,打车距离计算Redis的geo功能可以推算地理位置查询测试数据http://www.jsons.cn/lngcode/只有6个命令1.geoadd:添加地理位置127.0.0.1:6379> geoadd china:city 116.40 39.90 beijing(i原创 2020-08-19 10:57:43 · 205 阅读 · 0 评论 -
Redis个人学习笔记3---五大数据类型之有序集合
根据b站UP主狂神说Redis课程所写的个人学习笔记视频地址:https://www.bilibili.com/video/BV1S54y1R7SBZset(有序集合)在set的基础上,增加了一个值,set k1 v1 zset k1 score1 v1用zadd 添加值127.0.0.1:6379> zadd myset 1 one(integer) 1127.0.0.1:6379> zadd myset 2 two 3 three(integer) 2127.0.原创 2020-08-18 21:43:22 · 84 阅读 · 0 评论 -
Redis个人学习笔记3---五大数据类型之哈希
Hash(哈希)127.0.0.1:6379> hset myhash field1 lin #set一个具体的 key-value(integer) 1127.0.0.1:6379> hget myhash field1 #获取一个字段值"lin"127.0.0.1:6379> hmset myhash field hello field2 world #set多个key-valueOK127.0.0.1:6379> hmget myhash field fie..原创 2020-08-18 20:34:48 · 81 阅读 · 0 评论 -
Redis个人学习笔记3---五大数据类型之集合
根据b站UP主狂神说Redis课程所写的个人学习笔记视频地址:https://www.bilibili.com/video/BV1S54y1R7SBList最基本的数据类型,列表在redis里栈,队列,阻塞队列都可以用list来实现使用list命令都是l开头的127.0.0.1:6379> lpush list one #将一个或多个值插入列表头部(integer) 1127.0.0.1:6379> lpush list two(integer) 2127..原创 2020-08-18 15:46:48 · 108 阅读 · 0 评论 -
Redis个人学习笔记3---五大数据类型之字符串
根据b站UP主狂神说Redis课程所写的个人学习笔记视频地址:https://www.bilibili.com/video/BV1S54y1R7SBRedis-Key127.0.0.1:6379> keys * #查看所有的key(empty array)127.0.0.1:6379> set name lin #set keyOK127.0.0.1:6379> keys *1) "name"127.0.0.1:6379> set age 1...原创 2020-08-18 14:48:10 · 138 阅读 · 1 评论 -
Redis个人学习笔记2---测试性能
根据b站UP主狂神说Redis课程所写的个人学习笔记视频地址:https://www.bilibili.com/video/BV1S54y1R7SB1.官方自带的性能测试工具:redis-benchmark截选于https://www.runoob.com/redis/redis-benchmarks.html测试:100个并发连接 100000个请求redis-benchmark -h localhost -p 6379 -c 100 -n 100000...原创 2020-08-17 20:29:39 · 131 阅读 · 0 评论 -
Redis个人学习笔记1---linux下的Redis安装
根据b站UP主狂神说Redis课程所写的个人学习笔记视频地址:https://www.bilibili.com/video/BV1S54y1R7SB1.下载linux安装包https://redis.io/download2.将安装包解压到/opt目录下mv redis-6.0.6.tar.gz /opttar -zxvf redis-6.0.6.tar.gz3.进入解压后的文件,可以看到redis配置文件cd redis-6.0.6ls4.基本环境安装安装g原创 2020-08-17 17:49:14 · 119 阅读 · 0 评论