redis13微博项目之用户登陆注册
mysql在项目中使用的核心是表和字段的设计
redis在项目中使用的核心则是key值的设计
接下来我们讲述redis在微博项目中的设计与使用
key值设计:
键名 操作 备注
Global:userid incr 产生全局的userid(相当于关系型数据库中的主键)
user:username:zhangsan:userid get,set 通过zhangsan,瞬间查出zhangsan用户的id
user:userid:1:username get,set 找到userid=1的账号名
user:userid:1:password get,set 找到userid=1的密码
注册:
mysql中,用户传入账号和密码后,我们在mysql中查找该用户名是否存在,如不存在则新增
redis中,当用户传入用户名后, 我们可以判断 user:username:zhangsan:userid 这个键对应的值是否存在 ,如果存在给出错误提示,如果不存在则继续新增用户
在新增用户的时候,为了模拟mysql中的自增主键,我们也需要一个专门的计数器来统计当前uid最大值,这里我们使用incr函数(incr:如果key值不存在。那么 key 的值会先被初始化为 0 ,然后再执行 INCR 操作)
登录:
同理,也如上