摘要:
集合元素不能重复 sismember k v 是否存在 scard k 返回数量 sadd k v1 v2 添加,k不存在则创建 smembers k 返回所有元素 srem k v1 v2 移出元素 smove s d v 将v从s移到d里 spop k 随机移出一个元素并返回 srandmemb 阅读全文
摘要:
没有元素会阻塞,直到有元素或超时 t 秒后,t为0则永久阻塞 blpop k1 k2 t 左弹并返回 brpop k1 k2 t 右弹并返回 brpoplpush s d t s右弹,左插到d,并返回 rpoplpush s d s右弹,左插到d,并返回 llen k 返回长度 linsert k 阅读全文
摘要:
hexists k f 查看k中是否存在字段f hlen k 字段数量 hdel k f1 f2 删除字段 hset k f v 将k中f设为v hsetnx k f v f不存在时才将f设为v hget k f 返回k中f的值 hmset k f1 v1 f2 v2 设置多个字段的值 hmget 阅读全文
摘要:
set k v setEx k s v s秒过期 pSetEx k m v m毫秒过期 setNx k v k不存在时才设置 get k getSet k v k设为v,并返回k的旧值 mSet k1 v1 k2 v2 设置多个值 mSetNx k1 v1 k2 v2 当所有k都不存在时,设置多个值 阅读全文
摘要:
简单动态字符串 ( simple dynamic string,SDS) SDS的应用 在redis里,c字符串只会用作字面量,用在不会更改的地方,例如打印日志。 需要修改的字符串,用SDS表示 set msg "hello world" redis将创建一个键值对,键是一个字符串对象,对象的底层实 阅读全文
摘要:
定时删除:创建一个定时器,在键过期时立即删除。 为什么不用定时删除策略:虽然内存及时释放,但太消耗 CPU 资源。 定期删除,设置了 expire 的键存储在一个独立的字典中,默认每 100ms 随机选择 20 个 key,删除其中已过期的 key。如果过期 key 比例超过 1/4,那就重复这一步 阅读全文
摘要:
事务执行时,不会中断去执行其他命令 不支持回滚,执行时某个命令出错,其他命令也会继续执行 multi set "name" "zhangsan" get "name" set "age" 18 get "age" exec multi 将客户端从非事务状态切换到事务状态 非事务状态,客户端发送的命令 阅读全文
摘要:
RDB 手动或定期执行,将数据库状态保存到文件中 手动save:会阻塞服务器进程,拒绝客户端的所有请求; 自动bgsave:fork子进程,不会阻塞,写时复制copy on write bgsave执行过程中会拒绝save、bgsave、bgReWriteAOF 服务器端可同时配置多个save选项, 阅读全文
摘要:
hash、list、set、sorted set,可存储2^32-1个元素 string长度为512m字节,即2^(9+10+10+3)=2^32 优点:速度快,数据类型多,可持久化,支持主从备份,水平扩展 快的原因:c语言开发 纯内存操作 单进程单线程 epoll多路复用 高效的数据结构 每次传输 阅读全文