- 博客(17)
- 收藏
- 关注
原创 Redis的应用问题
它不仅提供了一系列的分布式的Java常用对象,还提供了许多分布式服务,其中就包含了各种分布式锁的实现。自定义redis分布式锁无法自动续期,比如,一个锁设置了1分钟超时释放,如果拿到这个锁的线程在一分钟内没有执行完毕,那么这个锁就会被其他线程拿到,可能会导致严重的线上问题,在秒杀场景下,很容易因为这个缺陷导致的超卖了。一个一定不存在缓存及查询不到的数据,由于缓存是不命中时被动写的,并且出于容错考虑,如果从存储层查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到存储层去查询,失去了缓存的意义。
2024-01-27 17:00:08
1393
1
原创 Redis集群
为什么需要redis集群?当主备复制场景,无法满足主机的单点故障时,需要引入集群配置。,针对这种情况,我们优化数据库可以采用读写分离的策略。我们可以部 署一台主服务器主要用来处理写请求,部署多台从服务器 ,处理读请求。
2024-01-26 16:53:35
1237
2
原创 Redis主从复制
上一个Slave可以是下一个slave的Master,Slave同样可以接收其他 slaves的连接和同步请求,那么该slave作为了链条中下一个的master, 可以有效减轻master的写压力,去中心化降低风险。执行/usr/local/redis/bin/redis-sentinel /usr/myredis/sentinel.conf。当一个master宕机后,后面的slave可以立刻升为master,其后面的slave不用做任何修改。风险是一旦某个slave宕机,后面的slave都没法备份。
2024-01-25 15:37:49
1159
原创 Redis2-事务 & 连接Java & 整合springboot & 注解缓存
可以一次执行多个命令,本质是一组命令的集合。一个事务中的 所有命令都会序列化,按顺序地串行化执行而不会被其它命令插入,不许加塞。单独的隔离的操作官网说明这四个指令构成了 redis 事务处理的基础。1.MULTI 用来组装一个事务;将命令存放到一个队列里面2.EXEC 用来执行一个事务;//commit3.DISCARD 用来取消一个事务;//rollback4.WATCH 用来监视一些 key,一旦这些 key 在事务执行之前被改变,则取消事务的执行。
2024-01-23 20:11:35
1503
1
原创 Redis
Redis 列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)。它的底层实际是个双向链表,对两端的操作性能很高,通过索引下标的操作中间的节点性能会较差。hash是一个string类型的field和value的映射表,hash特别适合用于存储对象。类似Java里面的Map用户ID为查找的key,存储的value用户对象包含姓名,年龄,生日等信息,如果用普通的key/value结构来存储。
2024-01-22 18:50:51
2179
原创 Nginx安装 & 配置
events 块涉及的指令主要影响 Nginx 服务器与用户的网络连接,常用的设置包括是否开启对多 work process 下的网络连接进行序列化,是否允许同时接收多个网络连接,选取哪种事件驱动模型来处理连接请求,每个 word process 可以同时支持的最大连接数等。这是 Nginx 服务器并发处理服务的关键配置,worker_processes 值越大,可以支持的并发处理量也越多,但是会受到硬件、软件等设备的制约。指定轮询几率,weight 和访问比率成正比,用于后端服务器性能不均的情况。
2024-01-18 14:40:07
1186
1
原创 Linux循环for/while
exit 命令n 是一个从 0 到 255 的整数 ,0 表示成功退出,非零表示遇到某种失败 ,返回值 被保存在状态变量 $?shell中也支持break跳出循环, continue跳出本次循环.用法与C, Java中相同。和其他循环不同,until循环是循环条件不符合要求的时候执行。:返回上一条语句或脚本执行的状态。c. 126: 命令或脚本没有执行权限。标准输入:代码0,使用 < 或者 <<标准输出:代码1,使用 > 或者 >>错误输出:代码2,使用 > 或者 >>b. 1-255:不成功。
2024-01-17 09:55:45
552
原创 Shell脚本语言&条件表达式&if/case
Shell脚本语言是实现Linux/UNIX系统管理及自动化运维所必备的重要工具, Linux/UNIX系统的底层及基础应用软件的核心大都涉及Shell脚本的内容。Shell是一种编程语言, 它像其它编程语言如: C, Java, Python等一样也有变量/函数/运算符/if语句/循环控制/… 但在开始之前, 我想先理清Shell语言与Shell之间的关系.当命令不在命令行中执行,而是从一个文件中执行时,该文件就是shell脚本。Shell是一种解释型编程语言,不需要编译,执行时也是按行执行。
2024-01-15 19:28:56
1721
1
原创 Linux磁盘 & 安装JDK、MySQL & 运行springboot项目
yum安装:就像是Linux里面的一个软件,系统安装完成,这个软件也就安装完成了,使用yum命令会自动去/etc/yum.repo.d/XXX.repo 结尾的文件进行配置。rpm的作用类似于windows上的电脑管家中“软件管理”、安全卫士里面“软件管家”等产品,主要作用是对linux服务器上的软件包进行对应管理操作,/sbin:全称super binary,该目录也是存储一些可以被执行的二进制文件,但是必须得有super权限的用户才能执行。/usr:存放的是用户自己安装的软件。
2024-01-13 11:13:56
1191
1
原创 VMware16安装 & Linux、安装
虚拟机(Virtual Machine)是计算机系统的仿真器,通过软件模拟具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统,能提供物理计算机的功能。虚拟机根据它们的运用和与直接机器的相关性可分为系统虚拟机和程序虚拟机,系统虚拟机可以提供一个可以运行完整操作系统的完整系统平台,程序虚拟机则为运行单个计算机程序设计。其本质特点是运行在虚拟机上的软件被局限在虚拟机提供的资源里。首先我们的了解下虚拟机的运行架构:寄居架构(VMware Workstation):一个适合于学习的架构。
2024-01-09 15:53:03
2297
原创 路由守卫&拦截器
登录之后 跳转到 main 页面在之前我们用现在实现前后端分离前端 Vue 后端SpringBoot前后端分离之后,后端是无法直接控制前端的没有登陆 跳转到 登录 页面。
2024-01-07 20:40:52
792
1
原创 Vue安装
定义路由的时候 path的路径一定是唯一的,定义路径的时候 路径名字不能重复,而且必须以 ' / ' 开始,如果写name 对应的值也得是唯一。如果vue-cli版本和我们创建项目的版本不一致的话会提示重新安装,修改一下版本。安装打包的客户端 npm i webpack-cli -g。npm uninstall -g vue-cli 卸载。安装vue-cli npm i vue-cli -g。npm install -g @vue/cli 安装。vue-v npm-v 查询版本号。
2024-01-04 16:48:21
504
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅