Redis持久化 - RDB和AOF

2018-08-19
阅读 7 分钟
26.5k
持久化(Persistence),即把数据(如内存中的对象)保存到可永久保存的存储设备中(如磁盘)。持久化Redis所有数据保持在内存中,对数据的更新将异步地保存到磁盘上。

Redis学习笔记 - pipline(流水线、管道)

2018-08-18
阅读 1 分钟
4.4k
一、什么是 pipline 1. 一次网络命令的通信模型 1次网络命令时间 = 1次网络传输时间(往返) + 1次命令执行时间 2. 批量网络命令的通信模型 n次网络命令时间 = n次网络传输时间(往返) + n次命令执行时间 3. pipline可以打包n条命令,一次性传输到服务端,再按顺序返回命令的执行结果 1次pipline(n条命令)网络命令时间 ...

Redis学习笔记 - 发布订阅

2018-04-09
阅读 2 分钟
3.1k
什么是发布订阅 Redis 发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息。 Redis 客户端可以订阅任意数量的频道。 角色 发布者(publisher) 订阅者(subscriber) 频道 (channel) 订阅一个频道 订阅多个频道 常用命令 publish channel message 发布命令 subscribe [channel ...] 订阅...

Redis学习笔记 - HyperLogLog

2018-04-09
阅读 2 分钟
2.2k
Redis HyperLogLog 是用来做基数统计的算法,HyperLogLog 的优点是,在输入元素的数量或者体积非常非常大时,计算基数所需的空间总是固定 的、并且是很小的。

Redis学习笔记 - Bitmaps(位图)

2018-04-08
阅读 3 分钟
11k
Bitmaps 并不是实际的数据类型,而是定义在String类型上的一个面向字节操作的集合。因为字符串是二进制安全的块,他们的最大长度是512M,最适合设置成2^32个不同字节。

Redis学习笔记 - Slow Log 慢查询日志

2018-04-04
阅读 2 分钟
6.7k
什么是 SLOW LOG 1. Slow log 是 Redis 用来记录查询执行时间的日志系统。 2. 查询执行时间指的是不包括像客户端响应(talking)、发送回复等 IO 操作,而单单是执行一个查询命令所耗费的时间。 3. slow log 保存在内存里面,读写速度非常快,因此你可以放心地使用它,不必担心因为开启 slow log 而损害 Redis 的速度。 SL...

Redis学习笔记 - 数据类型与API(6)Hash

2018-03-13
阅读 3 分钟
2k
Hash (哈希) 常用命令 命令 含义 时间复杂度 hget、hset 设置、获取hash key对应的field的value O(1) hdel 删除hash key对应的一个或多个field O(N),N 为要删除的域的数量 hexists 判断hash key是否有指定的field O(1) hlen 获取hash key 的field的数量 O(1) hmget、hmset 批量、获取hash key的一批field对应的值 O(N)...

Redis学习笔记 - 数据类型与API(5)Sorted Set

2018-03-13
阅读 3 分钟
2.2k
Sorted Set (有序集合)特点有序无重复集合间操作集合 VS 有序集合集合有序集合无重复元素无重复元素无序有序elementelement + score列表 VS 有序集合列表有序集合可以有重复元素无重复元素有序有序elementelement + score常用命令操作类型命令基本操作zadd、zrem、zcard、zincrby、zscore范围操作zrange、zrangebyscore...

Redis学习笔记 - 数据类型与API(4)Set

2018-03-13
阅读 3 分钟
1.9k
Set(集合) 特点 无序 无重复 集合间操作 常用命令 命令 含义 时间复杂度 sadd 将一个或多个 member 元素加入到集合 key 当中,已经存在于集合的 member 元素将被忽略 O(N), N 是被添加的元素的数量。 srem 移除集合 key 中的一个或多个 member 元素,不存在的 member 元素会被忽略。 O(N), N 为给定 member 元素的数...

Redis学习笔记 - 数据类型与API(3)List

2018-03-13
阅读 4 分钟
2.3k
List (列表) 特点 有序 可以重复 左右两边插入弹出 常用命令 命令 含义 时间复杂度 lrange 获取列表指定索引范围的所有item O(S+N),S 为偏移量 start,N 为指定区间内元素的数量。 lpush、rpush 从列表左/右侧插入1-N个值 O(1) lpop、rpop 从列表左/右侧弹出1个值 O(1) linsert 在list指定的值前/后插入newValue O(N),...

Redis学习笔记 - 数据类型与API(2)String

2018-03-13
阅读 3 分钟
2.2k
Redis学习笔记 - 数据类型与API(2)String String (字符串) 1. 使用场景 缓存 (key-value、存储json) 分布式锁 计数器 Bits 2. 常用命令 命令 含义 时间复杂度 set、get、del 设置、获取、删除key-value O(1) setnx、set xx 根据key是否存在设置key-value O(1) incr、decr、incrby、decrby、incrbyfloat 计数 O(1) mg...

Redis学习笔记 - 数据类型与API(1)Key

2018-03-13
阅读 2 分钟
2.2k
Redis学习笔记 - 数据类型与API(1)Key Key相关命令 1. 常用命令 命令 含义 时间复杂度 keys 查找所有符合给定模式 pattern 的 key O(N), N 为数据库中 key 的数量 dbsize 计算key的总数 O(1) exists 检查key是否存在 O(1) del 删除指定的key-value O(1) expire、ttl、persist 设置、查看、去掉key的过期时间 O(1) typ...

关于用户关注粉丝表设计方案的思考

2017-12-29
阅读 2 分钟
18.1k
方案一 follow(关注关系表) 字段名 类型 索引 注解 id primaryKey() user_id integer()->unsigned()->notNull() normal 用户 followed_user integer()->unsigned()->notNull() 关注的人的id status smallInteger()->unsigned()->defaultValue(1) 关注状态:是否取消关注等 created_at integer()->un...