Jun242021
Springboot中如何实现高可用集群部署
引言
在实际应用中,高可用性是一个非常重要的需求。通过将应用部署到多个服务器上,可以提高应用的可用性,并避免单点故障导致的应用不可用问题。本文将介绍如何在Springboot应用中实现高可用集群部署。
1. 使用负载均衡器
负载均衡器是实现高可用集群部署的基础。它可以将用户的请求分发到多个应用服务器上,从而提高应用的吞吐量和可用性。常见的负载均衡器有Nginx和Apache等。以Nginx...阅读全文
抢沙发
Jun202021
PHP实现Redis分布式锁
锁在我们的日常开发可谓用得比较多。通常用来解决资源并发的问题。特别是多机集群情况下,资源争抢的问题。但是,很多新手在锁的处理上常常会犯一些问题。今天我们来深入理解锁。
一、Redis 锁错误使用之一
我曾经见过有的项目把查询结果存储到 Redis 当中时的伪代码如下:
$redis = new \Redis('127.0.0.1', 6379);
$cacheKey = 'query_cache';
$result = $redis->get($cacheKey);
...阅读全文
May242021
Redis锁机制的几种实现方式
1. redis加锁分类
redis能用的的加锁命令分表是INCR、SETNX、SET
2. 第一种锁命令INCR
这种加锁的思路是, key 不存在,那么 key 的值会先被初始化为 0 ,然后再执行 INCR 操作进行加一,然后其它用户在执行 INCR 操作进行加一时,如果返回的数大于 1 ,说明这个锁正在被使用当中。
1、 客户端A请求服务器获取key的值为1表示获取了锁
2、 客户端B也去请求服务器获取key的值为2表...阅读全文
May122021
Redis缓存穿透、击穿、雪崩解决方案:分布式缓存高可用架构设计与实现
Redis缓存穿透、击穿、雪崩解决方案:分布式缓存高可用架构设计与实现
引言
在现代分布式系统中,Redis作为主流的缓存解决方案,承担着提升系统性能、减轻数据库压力的重要职责。然而,在实际应用过程中,缓存相关的三大经典问题——缓存穿透、缓存击穿、缓存雪崩——往往会严重影响系统的稳定性和用户体验。本文将深入分析这些问题的本质,并提供切实可行的解决方案,帮助构建高可用的分布式...阅读全文
May082021
Vue 3 Composition API状态管理最佳实践:Pinia与Vuex 4的深度对比分析
Vue 3 Composition API状态管理最佳实践:Pinia与Vuex 4的深度对比分析
引言
随着Vue 3的发布,开发者们迎来了全新的Composition API,这为组件开发带来了更灵活的逻辑复用方式。在这一背景下,状态管理作为Vue应用的核心组成部分,也面临着新的选择和挑战。本文将深入对比Vue 3生态系统中的两种主流状态管理方案——Pinia和Vuex 4,通过详细的对比分析和实际项目案例,为开发者提供选择和...阅读全文
May032021
Redis 7.0多线程性能优化实战:从单线程到多线程架构演进的最佳实践与调优策略
Redis 7.0多线程性能优化实战:从单线程到多线程架构演进的最佳实践与调优策略
标签:Redis, 性能优化, 数据库, 多线程, 最佳实践
简介:详细解析Redis 7.0多线程架构的核心优化原理,包括IO多线程实现机制、内存管理优化、持久化性能提升等关键技术,提供完整的性能测试数据和调优配置方案,帮助开发者充分发挥新版本性能优势。
引言:从单线程到多线程的架构演进
在Redis的历史发展...阅读全文
Apr302021
使用redis-cli连接Redis服务器
为redis设置密码
编辑redis配置文件,这里的配置为/etc/redis/6379.conf ,根据自己的情况而定。
vim /etc/redis/6379.conf
找到以#requirepass 开头的这一行,去掉#号,如果没有可自行添加,修改为:
requirepass 123456
这样就认证密码就设为123456啦。
然后重启redis,其中-a 123546 是刚刚设置的密码
redis-cli -h 127.0.0.1 -p 6379 -a 123456 shutdown
如果是按照笔者前几篇文章...阅读全文
Apr262021
Redis缓存穿透、击穿、雪崩解决方案:从布隆过滤器到多级缓存架构设计实践
Redis缓存穿透、击穿、雪崩解决方案:从布隆过滤器到多级缓存架构设计实践
引言:Redis缓存的三大“天敌”与系统高可用挑战
在现代分布式系统中,Redis作为高性能内存数据库,广泛应用于缓存层以提升数据访问速度、减轻数据库压力。然而,随着业务规模的增长和请求量的激增,Redis缓存系统也面临一系列经典问题——缓存穿透、缓存击穿、缓存雪崩。这些问题若不加以防范,可能导致数据库瞬间过...阅读全文
Mar242021
10个常见的Redis面试”刁难”问题
Redis 有哪些数据结构?
字符串 String、字典 Hash、列表 List、集合 Set、有序集合 SortedSet。如果你是 Redis 中高级用户,还需要加上下面几种数据结构 HyperLogLog、Geo、Pub/Sub。如果你说还玩过 Redis Module,像 BloomFilter,RedisSearch,Redis-ML,面试官得眼睛就开始发亮了。
使用过 Redis 分布式锁么,它是什么回事?
先拿 setnx 来争抢锁,抢到之后,再用 expire 给锁加一个...阅读全文
Mar182021