事务就是保证命令组合原子性的一种机制,
一组命令,要么全部执行,要么全部不执行.
Reids的事务没有回滚功能,一旦开始执行,就必定都会执行,判断不能执行事务的依据是没有语法错误,并且关注的键值没有发生变化
2. Redis 扩展功能-redis-cli
9. Redis API的理解和使用-总结
- Redis提供了
string,hash,list,set,zset5中基本数据结构,没有数据结构都有多种内部编码实现 - 高性能原因:纯内存存储,IO多路复用技术,单线程架构
- 因为是单线程架构,所以必须要保证所有命令都能快速执行完成,如果命令长时阻塞线程,可能会导致业务运行问题
- 批量操作,Redis提供了批量操作的命令,可以通过有效减少网络通信次数来提高效率
- 命令的时间复杂度要注意,使用长时命令要注意影响
persist/set命令都会删除键的过期时间- 键前移基本使用的命令是
migrate,有原子性,是Redis服务器端之间的通信 scan命令可以替代keys等命令,采用循环遍历的方式来防止大数据造成的阻塞
8. Redis API的理解和使用-键管理
单个键
- 键重命名
rename $key $newkey,会覆盖已有键值
renamenx $key $newkey,不会覆盖已有键值
重命名时会使用del删除旧的键,如果值比较大,可能会阻塞Redis - 随机返回一个键
randomkey,从已有的key中随机一个key返回 - 键过期
expire $key $seconds,键在$seconds秒后过期expireat $key $timestamp,键在秒级时间戳后过期ttl $key,查看过期时间(秒),-1无限时间,-2键不存在pexpire $key $milliseconds,键在$seconds毫秒后过期pexpireat $key $milliseconds-timestamp,键在毫秒级时间戳后过期pttl $key,查看过期时间(毫秒)persist $key,清除键的过期时间
set命令时,很容易会覆盖掉过期时间