哈希键值结构:filed可以单独直接添加,更新,删除等,如果用字符串的类型,还需要封装成一个对象,存在redis里面需要序列化,得到某个filed还需要反序列化。
可以把一个key看做一个表的一行,key代表id,每个filed可以看作表的字段。
例如下图就是key-value结构,
常见操作:
应用1:记录网站每个用户个人主页的访问量。
应用2:缓存视频的基本信息(数据源在mysql中)伪代码----->为了提高接口的收发性能。
其他API:
使用hgetall可能比较慢,是因为redis是单线程的特点。
String和Hash对比:hash可以看作一个小的redis
相似的API:
如果用string实现用户信息:(需要序列化再存储,取出来的时候,也要反序列化)
用字符串的一个好处就是可以方便更新某个key,而不需像hash那样全部取出来,添加时也不影响原来的key-value。
但是每个用户的信息不是一个整体,不便于管理。
string第二种方式实现:
而hash可以将一个用户作为一个整体,更直观,可以做部分更新。