《Redis使用手册》(试读版)到最新的信息, 程序必须定期地移除旧缓存并设置新缓存。 为了保障⽤户的信息安全, 应⽤通常会在⽤户登录⼀周或者⼀个⽉之后移除⽤户的会话信息, 然后通过强 制要求⽤户重新登录来创建新的会话。 程序在进⾏聚合计算的时候, 常常会创建出⼤量临时数据, 这些数据在计算完毕之后通常就不再有⽤, ⽽ 且储存这些数据还会花费⼤量内存空间和硬盘空间。 在遇到上述情况时, 我们虽然可以⾃⾏编写程序来处理这些不再有⽤的数据, 这种命令只需要对数据库进⾏简 单的读写, 它们的执⾏速度⼀般都⾮常快。 第⼆种是⽐较复杂的计算操作, ⽐如 SUNION 命令、 ZINTERSTORE 命令、 BITOP 命令等等, 这种命令需要对 数据库中的元素进⾏聚合计算, 并且随着元素数量的增加, 计算耗费的时间也会增加, 因此这种命令的执 ⾏速度⼀般都⽐较慢。 从效率的⻆度考虑, 如果我们在同⼀个 Redis 服务器⾥⾯同时处理以上两种命令, 那么执⾏第⼆种命令产⽣的阻 在⽤户数量极其庞⼤的情况下, 使⽤命令传播模式 对这个脚本进⾏复制将耗费⼤量⽹络资源, 但使⽤脚本传播模式来复制这个脚本则会是⼀件⾮常容易的事。 现在, 考虑另⼀种情况, 假设我们正在开发⼀个数据聚合脚本, 它包含了⼀个需要进⾏⼤量聚合计算以及⼤量数 据库读写操作的 aggregate_work() 函数: local result_key = KEYS[1] local aggregate_work =0 码力 | 352 页 | 6.57 MB | 1 年前3
共 1 条
- 1













