Loading

摘要: Redis 提供了 2 个不同形式的持久化方式:RDB(Redis DataBase),AOF(Append Of File) 1. RDB(Redis DataBase)快照 在默认情况下, Redis 将内存数据库快照保存在名字为 dump.rdb 的二进制文件中。你可以对 Redis 进行设置 阅读全文
posted @ 2020-09-04 18:19 tree6x7 阅读(181) 评论(0) 推荐(0) 编辑
摘要: 1. 事务定义 Redis 事务是一个单独的隔离操作:事务中的所有命令都会序列化、按顺序地执行。事务在执行的过程中,不会被其他客户端发送来的命令请求所打断。 事务可以一次执行多个命令,本质是一组命令的集合。一个事务中的所有命令都会序列化,按顺序地串行化执行而不会被其他命令插入,不许加塞。 在一个队列 阅读全文
posted @ 2020-09-04 12:53 tree6x7 阅读(149) 评论(0) 推荐(0) 编辑
摘要: 1. Redis 分布式锁 Redis 分布式锁实现:使用 Lua 脚本结合使用 SETNX 和 EXPIRE 这两个命令。 1.1 锁续期 业务超时锁释放导致「错误解锁」: 业务超时锁释放导致「业务并发执行」: Redis 实现分布式锁如何合理的控制锁的有效时长? =>【锁续期/锁续命】 给拿到锁 阅读全文
posted @ 2020-09-04 12:47 tree6x7 阅读(111) 评论(0) 推荐(1) 编辑
摘要: # units 计量单位说明:只支持 bytes,不支持 bit;对大小写不敏感。 ![](https://img2020.cnblogs.com/blog/1104875/202009/1104875-20200922202717671-264699130.png) # include 指定包含其 阅读全文
posted @ 2020-09-04 12:43 tree6x7 阅读(187) 评论(0) 推荐(1) 编辑
摘要: 0. Redis 基本指令 keys * 查询当前库的所有键 exists <key> 判断某个键是否存在 type <key> 查看键的类型 dbsize 查看当前数据库的 key 的数量 del <key> 删除某个键 flushdb 清空当前库 flushall 通杀所有库 1. string 阅读全文
posted @ 2020-09-04 12:41 tree6x7 阅读(201) 评论(0) 推荐(0) 编辑
摘要: Redis:KV + Cache + Persistence(持久化) 1. 简介 Redis(REmote DIctionary Server)是一个开源的内存中的 key-value 存储系统,它可以用作:数据库、缓存和消息中间件。 用 C 语言编写的,遵守 BSD 协议,是一个高性能的 key 阅读全文
posted @ 2020-09-04 12:32 tree6x7 阅读(133) 评论(0) 推荐(0) 编辑
摘要: # 1. 缓存基本思想 ## 1.1 使用场景 **(1)DB 缓存,减轻服务器压力** 一般情况下数据存在数据库中,应用程序直接操作数据库。 当访问量上万,数据库压力增大,可以采取的方案有: 1. 读写分离,分库分表; 2. 当访问量达到十万、百万,需要引入缓存。将已经访问过的内容或数据存储起来, 阅读全文
posted @ 2020-09-04 12:28 tree6x7 阅读(145) 评论(0) 推荐(0) 编辑
摘要: NULL 二进制全部为0的含义: 数值 0 字符串结束标记 \0 空指针NULL NULL表示编号为 0 的内存单元地址 计算机规定:以 0 为编号的存储单元的内容不可读,不可写 typedef 为某种数据类型再取个别名 Demo1 Demo2 Demo3 阅读全文
posted @ 2020-09-04 12:24 tree6x7 阅读(157) 评论(0) 推荐(0) 编辑
摘要: 传统数组的缺点 数组长度必须事先指定且只能是常整数,不能是变量 int a[5]; √ int len = 5; int a[len]; × 传统形式定义的数组,该数组所占用内存空间无法手动释放 int a[5] = {1, 2, 3, 4, 5}; 在函数运行期间,这 20 个字节的存储空间无法手 阅读全文
posted @ 2020-09-04 12:23 tree6x7 阅读(122) 评论(0) 推荐(0) 编辑
摘要: 数组元素个数 Line13 这里的 p 是指针变量,p[0] 应该不存在的,怎么能这样用? C 语言中可以用指针表示数组的每一个元素。本质上,对同一个对象有两种不同的符号表示。如定义:a[n] ~ *(a+n),即寻址到内存 a,然后移动 n 个单元,再取出数组。故 p[0] ~ *(p+0),该值 阅读全文
posted @ 2020-09-04 12:21 tree6x7 阅读(126) 评论(0) 推荐(0) 编辑
摘要: 指针的定义 地址 内存单元的编号(是一个从0开始的非负整数) 地址值的范围:0~2^地址总线数 - 1 指针 数据类型:地址,存储地址这种类型的变量 保存对象地址的变量,指针是一种"地址变量"。通常也叫"指针变量",统称"指针" 指针变量就是存放内存单元编号的变量,或者说指针变量就是存放地址的变量 阅读全文
posted @ 2020-09-04 12:17 tree6x7 阅读(154) 评论(0) 推荐(0) 编辑
摘要: 符号常量 在 C 语言中,可以用一个 [标识符] 来表示一个常量,称之为【符号常量】 符号常量使用前必须先定义,其一般形式为:#define 标识符 常量 其中,#define 也是一条预处理命令(预处理命令都以 # 开头),称为【宏定义命令】,其功能是把该 [标识符] 定义为其后的常量值。一经定义 阅读全文
posted @ 2020-09-04 12:15 tree6x7 阅读(584) 评论(0) 推荐(0) 编辑
摘要: 函数是什么 是一个工具,为了解决大量类似问题而设计的一串代码,以函数之名,对数据用那一串代码来进行处理,最终将结果返回 如何定义函数 基本语法函数的返回值类型 函数的名字(函数的形参列表) { 函数的执行体 } Tips 执行体:详细描述函数之所以能够实现某个特定功能的具体步骤 函数内部定义的变量只 阅读全文
posted @ 2020-09-04 12:14 tree6x7 阅读(210) 评论(0) 推荐(0) 编辑