我第一次来Redis。我想为我的项目创建最灵活的架构(将来或现在使用集群)。 我的主数据存储 - Redis和现在,我重写存储库: 我有EntityFramework存储库:
public class UserRepository : CommonRepository<User, Guid>
{
public async Task<bool> IsLoginExists(string email)
{
return await ExistsAsync(user => user.Email == email);
}
public async Task<bool> CheckLoginPassword(string email, string password)
{
return await ExistsAsync(user => user.Email == email && user.Password == password);
}
public User GetByEmail(string email)
{
return FindOne(user => user.Email == email);
}
}
所有用户都会以 {user:ab1a8d80-1fdb-4668-b477-f92be4815e1c} 和hashEntry的形式保留所有其他属性。 但我没有经验,我想存储用户登录(我不想加入密钥)。 最佳做法是什么?用于分片和简单查询... Crate键UserLogins并添加所有userLogins的哈希?无法查询此信息。
创建密钥:{user_login:test@mail.com}值:ab1a8d80-1fdb-4668-b477-f92be4815e1c ?
答案 0 :(得分:0)
从Redis的书中我得到答案!
set users:9001 "{id: 9001, email: leto@dune.gov, ...}"
hset users:lookup:email leto@dune.gov 9001