1。字符串类型
1 - 1的字符串类型数据的基本操作
添加/修改数据:<代码>设置键值代码>
获取数据:<代码>得到关键代码>
删除数据:<代码> del键代码>
添加/修改多个数据:<代码> mset键值key1 value1 代码>
获取多个数据:<代码> mget关键key1 代码>
追加信息到原始数据后边(不存在时则添加):<代码>添加键值代码>
1 - 2字符串类型增减操作
设置数值增加指定范围的值:<代码>增加关键默认每次加1 | incrby键值每次新增价值代码>
设置数据减少指定范围:<代码> 12月关键| decrby键值跟新增是一回事代码>
控制数据库表主键id为数据库表提供主键生成策略,保证数据表主键的一致性。
1 - 3的字符串类型时效操作
设置过期时间:<代码> setex键秒值代码>
实现限制时间投票功能:例如一个微信一个小时可以投一次
实现热点信息:例如电商行业热门商品,新闻网站热门新闻
1 - 4字符串类型的应用场景
在复述中为大V设定用户信息,以用户主键和属性为键值,以下为实现案例。
在上图中,我们可以看到购物车里的信息,下来咱们使用redis来对这个购物车的实现。
这里实现了一个添加购物车和获取购物车,keys的命名为 表名+主键+主键值
在上图中,我们会有一个问题就是商品信息存储会大量重复,所有我们也需要将商品单独给一直hash。如下图,只存储商品id
这里提供了俩种设置方式,一种是设置多个字段,一种是直接存储为json。信息不经常变动的话可以使用json
给大家在提供一个方法hsetnx key field value
,如果有则不进行添加,没有则添加。这个功能就使用在不同的用户添加同样的商品时不会执行覆盖和无用操作
3. 列表类型
数据存储需求:存储多个数据,并对数据进行存储空间的顺序进行区分
需要的数据结构:一个存储空间保存多个数据,且通过数据可以体现进入顺序
列表类型:保存多个数据,底层使用双向链表存储结构实现
3 - 1列表类型数据的基本操作
添加/修改数据:<代码> lpush键值value1 代码> | <代码> rpush键值value1 代码>
获取数据:<代码> lrange关键开始结束代码> | <代码> lindex关键指数代码> |