我是Redis的新手,我想使用以下方案:
键:EMPLOYEE_ * ID *
价值:*员工数据*
我在考虑在密钥的末尾添加一个时间戳,但我不确定这是否会有所帮助。基本上我希望能够获得最陈旧的员工列表,即已更新。在Redis中实现这一目标的最佳方法是什么?
答案 0 :(得分:2)
您是否尝试按到期时间进行过滤?您可以为所有密钥设置相同的到期日期,并在每次更新密钥时更新到期日期。然后使用LUA脚本,您可以遍历密钥并按到期时间过滤。到期时间较短的那些是未更新的。
这可以用于某些假设,这取决于您的系统如何工作。关于雇员人数,方法也是O(N)。因此,如果在一侧可以节省空间,则无法根据条目数和扫描频率进行良好的扩展。
答案 1 :(得分:2)
使用关于员工(密钥名称)和更新时间戳的数据保留另一个密钥 - 最佳候选者是排序集。为了保持密钥的数据完整性,只要更新员工密钥,就可以通过相关更改对其进行更新。
使用该数据结构,您可以使用ZRANGE
命令轻松获取最近更新过的员工的密钥名称。