![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Redis
文章平均质量分 66
坐飞机的狗
熟悉java技术,熟悉java常用设计模式,熟悉java高并发程序设计,了解jvm调优;熟悉基于spring boot+Mybatis的网站后端开发;了解go web开发,熟悉基于RPC + go 微服务开发;熟悉python常用的数据分析库(pandas\sklearn\tensorflow等)、爬虫框架(scrapy)、django后端开发;熟悉mysql的使用;了解前端HTML+CSS+Javascript;了解常用的机器学习算法;熟悉git常用操作。
展开
-
缓存穿透、穿透和雪崩
缓存穿透(查不存在的数据)大量请求的Key不存在于缓存中,导致请求直接到数据库上,根本没有经过缓存这一层。一般MySQL默认的最大连接数在150左右,可以通过show variables like '%max_connections%' ; 查看。一般3000个并发请求就会使大部分数据库宕机。正常缓存处理流程:缓存穿透情况处理流程:解决方案1. 布隆过滤器布隆过滤器是一种数据结构,对所有可能查询的参数以hash形式存储,在控制层先进行校验,不符合丢弃,从而避免了对底层存储系统的查询压力原创 2021-04-12 17:03:41 · 84 阅读 · 0 评论 -
Redis集群搭建
一般单台的Redis数据库大小最好不要操作20G,一般集群最少需要3个服务器。环境配置只配置从库,不用配置主库。127.0.0.1:6379> info replication # 查看当前库的信息# Replicationrole:master # 角色connected_slaves:0 # 从节点个数master_failover_state:no-failovermaster.原创 2021-04-08 21:58:31 · 193 阅读 · 0 评论 -
redis.conf解析
1.单位2.包含其他配置文件3.网络bind 0.0.0.0 # 绑定ip【本机的所有的ip】protected-mode no # 保护模式port 6379 # 端口4.通用配置dameonize yes # 以守护进程的方式运行pidfile /var/redis/run/redis.pid # 如果以后台的方式运行...原创 2021-04-08 20:38:21 · 88 阅读 · 1 评论 -
Redis发布订阅
Redis发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接受消息。Redis 客服端可以订阅任意数量的频道。订阅/发布消息图:角色:消息发送者,频道,消息订阅者测试1.subscribe channel 订阅一个频道2.publish channel message发送一个数据实现Redis 将所有频道的订阅关系都保存在服务器状态的pubsub_channels字典里面,这个字典的键是某个被订阅的频道,而键的值则是一个链表,链表里面记录原创 2021-04-06 18:37:10 · 163 阅读 · 0 评论 -
Redis持久化
Redis持久化RDB(Redis DataBase)优缺点:进行大规模数据的恢复,且对于数据恢复的完整性不是非常敏感,RDB比AOF方式更加高效 RDB最后一次持久化之后的数据可能丢失。 fork进程时,会占用cpu和内存资源触发机制save的规则满足下,会自动触发rdb 执行flushall命令,也会触发rdb 退出redis,也会发生快照产生rdb文件恢复rdb文件只需要将rdb文件放在redis启动目录就可以了,redis启动的时候会自动检查dump.r.原创 2021-04-06 15:58:21 · 72 阅读 · 0 评论 -
用Java使用Redis
1. 导入依赖<dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>3.2.0</version></dependency>2.编码测试连接数据库public class TestConnect { public static void main(S原创 2021-04-04 19:44:41 · 143 阅读 · 0 评论 -
Window系统下连接虚拟机中的centos下的Redis
使用时报异常:Exception in thread "main" redis.clients.jedis.exceptions.JedisConnectionException: Failed connecting to 192.168.92.130:6379解决方法:打开redis.conf配置文件:更改两处:(1).允许任何ip的主机访问bind 0.0.0.0(2).保护模式关闭protected-mode no(3).端口对外开放vi /.转载 2021-04-03 19:12:25 · 170 阅读 · 0 评论 -
Redis事务
事务Redis事务本质:一组命令的集合!一个事务中的所有命令都会被序列化,在事务执行过程中,会按照顺序执行。一次性、顺序性、排他性。Redis事务没有隔离级别的概念,所有的命令在事务中,并没有直接执行!Redis单条命令保证原子性,但是事务不保证原子性。Redis的事务:开启事务(multi) 命令入队(...) 执行事务(exec)正常执行事务:放弃事务(DISCRD):编译型异常(代码有问题,命令有错),事务中的命令都不会执行运行时异常...原创 2021-04-03 16:49:40 · 88 阅读 · 1 评论 -
Redis常用命令
keys 查看所有的key set 设置key-value exists key 判断当前key是否存在 move key 移除当前key expire key time 设置key的过期时间 ttl key 查看当前key存活的剩余时间 type key 查看当前key的类型原创 2021-03-28 14:27:33 · 101 阅读 · 0 评论 -
Redis数据结构
简单动态字符串[区别于c语言中的字符串] redis中的字符串是个结构体 Redis没有直接使用C语言传统的字符串表示(以空字符结尾的字符数组,以下简称C字符串),而是自己构建了一种名为简单动态字符串(simple dynamic string,SDS)的抽象类型,并将SDS用作Redis的默认字符串表示。struct sdshdr{ // 记录buf数组中已使用字节的数量 // 等于SDS所保存字符串的长度 int len; // 记录buf数组中原创 2021-03-25 19:56:44 · 106 阅读 · 2 评论