我正在ruby中构建一个身份验证系统,并使用redis存储用户的访问数据。我想知道redis datatypes哪个更适合使用?
答案 0 :(得分:1)
他们都不是。 Redis应该在受信任的环境中使用,它自己的身份验证机制是基本的,并且没有与数据关联的访问权限或ACL。存储安全敏感数据非常薄弱。
现在,如果您确实需要这样做,您可以序列化用户的属性并将每个用户存储在单个字符串中,或者为每个用户使用一个哈希对象来单独存储属性。
例如:
SET user:1 {"lastname":"Smith","firstname":"John","passwd":"38E56712AB15"}
or
HMSET user:1 lastname Smith firstname John passwd 38E56712AB15
如果您以全局方式系统地访问用户(一次检索/更新所有属性),则第一个解决方案更加优化。
使用第二种解决方案,仅加密一部分数据并支持部分更新/检索更容易一些。当然加密必须在客户端完成。