TY博客

苟利国家生死以,岂因祸福避趋之。

分布式锁(2)-基于Redis实现

使用场景 分布式应用进行逻辑处理时经常会遇到并发问题。 比如一个操作要修改用户的状态,修改状态需要先读取用户的状态,在内存里进行修改,改完了再存回去。如果这样的操作同时进行了,就会出现并发问题,因为读取和保存状态这两个操作不是原子的。(所谓原子操作是指不会被线程调度机制打断的操作:这种操作一旦开始,就一直运行到结束,中间不会有任何线程切换) 分布式锁 在不同进程需要互斥地访问共享...

分布式锁(1)-简介

现在我们写的程序基本上都有一定的并发性,要么单台多进线程、要么多台机器集群化,在仅读的场景下是不需要加锁的,因为数据是一致的,在读写混合或者写场景下如果不加以限制和约束就会造成写混乱数据不一致的情况。 如果业务安全和正确性无法保证,再多的并发也是无意义的。 凡事基本上都是双面的,锁可以在一定程度上保证数据的一致性,但是锁也意味着维护和使用的复杂性,当然也伴随着性能的损耗。锁使用不当不但解...

斐波那契数

509. 斐波那契数 斐波那契数,通常用 F(n) 表示,形成的序列称为 斐波那契数列 。该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和。也就是: F(0) = 0,F(1) = 1 F(n) = F(n - 1) + F(n - 2),其中 n > 1 给你 n ,请计算 F(n) 。 方法1 递归 思路 根据题目给出的定义可以看出斐波那契数列是递归定...

腾讯云SSL证书安装

Nginx 配置 HTTPS 1.Nginx的SSL模块安装 /usr/local/nginx/sbin/nginx -V 如果出现–with-http_ssl_module说明SSL模块已经安装。直接跳到第2步 安装的时候没有编译ssl,难道把nginx卸载重新安装一次?不不不,我们只需要在原有的基础上添加ssl模块就行了。 我们先来到当初下载nginx的包压缩的解...

Redis-Cell 漏斗限流的使用

Redis-Cell 漏斗限流的使用 下载安装包https://github.com/brandur/redis-cell 解压 $ tar -zxf redis-cell-*.tar.gz $ cp libredis_cell.so /path/to/modules/ 进入 redis-cli,执行命令modul...

Redis 持久化配置 无缝从rdb切换到aof 安全保留数据

问题 redis默认持久化配置rdb,但是如果贸然切换配置到aof方式,重启会导致数据丢失 根本原因 rdb方式默认将数据持久化存储到dump.rdb文件下 aof方式默认将数据写操作记录到appendonly.aof文件下 如果同时开启两种方式,重启会默认加载aof文件 Redis默认只开启rdb 综上,如果默认是rdb方式,然后贸然切换到aof,重启会读取ao...