Redis除了当缓存,还有哪些应用场景?( 三 )


2-2 hash类型数据的扩展操作获取hash表中所有的字段值:hkeys key
获取hash表中所有的字段值:hvals key
设置指定字段的数值增加指定范围的值:hincrby key field increment | hincrbyfloat key field increment
2-3 hash业务场景之购物车此图来源于网络非自制,只是模拟购物车场景

Redis除了当缓存,还有哪些应用场景?

文章插图
在上图中,我们可以看到购物车里的信息,下来咱们使用redis来对这个购物车的实现 。
这里实现了一个添加购物车和获取购物车,keys的命名为 表名+主键+主键值
Redis除了当缓存,还有哪些应用场景?

文章插图
在上图中,我们会有一个问题就是商品信息存储会大量重复,所有我们也需要将商品单独给一直hash 。如下图,只存储商品id
Redis除了当缓存,还有哪些应用场景?

文章插图
这里提供了俩种设置方式,一种是设置多个字段,一种是直接存储为json 。信息不经常变动的话可以使用json
Redis除了当缓存,还有哪些应用场景?

文章插图
给大家在提供一个方法hsetnx key field value,如果有则不进行添加,没有则添加 。这个功能就使用在不同的用户添加同样的商品时不会执行覆盖和无用操作
Redis除了当缓存,还有哪些应用场景?

文章插图
3. list类型数据存储需求:存储多个数据,并对数据进行存储空间的顺序进行区分需要的数据结构:一个存储空间保存多个数据,且通过数据可以体现进入顺序list类型:保存多个数据,底层使用双向链表存储结构实现
3-1 list类型数据的基本操作添加 / 修改数据:lpush key value value1 | rpush key value value1