redis 内存数据量升到必定大小的时候,就会施行数据淘汰策略。redis 提供 6种数据淘汰策略mysql
voltile-lru:从已设置过时时间的数据集(server.db[i].expires)中挑选最近最少使用的数据淘汰(推荐)redis
volatile-ttl:从已设置过时时间的数据集(server.db[i].expires)中挑选将要过时的数据淘汰(推荐)sql
volatile-random:从已设置过时时间的数据集(server.db[i].expires)中任意选择数据淘汰(不推荐)数据库
allkeys-lru:从数据集(server.db[i].dict)中挑选最近最少使用的数据淘汰(推荐)dom
allkeys-random:从数据集(server.db[i].dict)中任意选择数据淘汰(不推荐)code
no-enviction(驱逐):禁止驱逐数据(不推荐)cdn
跟其余数据库同样, Redis 也提供了事务机制server
在 redis 事务中,因此的命令都将串行化顺序执行。 和关系型数据库中的事务不一样,在 redis 事务中若是某个命令执行失败,后面的命令依然会被执行blog
multi
在该命令以后的全部命令都会被存到命令队列中,直到你提交事务后,命令队列中的命令开始被原子化执行exec
discard
就像一个 mysql 中能够建立多个数据库同样,一个 redis 实例也能够包含多个数据库。队列
一个 redis 实例 最多有 16 个数据库,每一个数据库还有对应的下标,下标从 0 到 15
客户端链接时,须要指定链接到那个数据库,若是不指定,默认链接到下标为 0 的数据库
链接到指定数据库后,才能够执行跟数据相关的各类命令
select 2
选择下标为2的数据库move 键 数据库下标
例如 move name 1 表示将 name 移动到 1 号数据库