[redis] redis操作的想法

在工作中一直都使用redis。下面我来说说我对redis的理解,经验不足,希望大家不要嫌弃。(So:可能会更新,先写这么多)

1:除了列表(List)类型,其余的数据类型会存在有相同的值插入时,新值覆盖旧值。(哈希(Hash)的是字段相同)

2:列表(List)类型的数据特点是可以先进先出/先进后出。两边都可以操作。这个特性,我在工作中一般都是使用的sql队列,或者消息队列等。

3:字符串(String)类型的数据特点是任何的字符串都可以存储,存储的空间比较大,缺点是存储的数据是一个key对应一个value.这就要求key必须是事先知道的。后面才能取。还有就是浪费key的数量。所以最好用户信息,商品信息这种一个类型多个值的就不要存储在字符串(string)中了。所以针对这个特性,可以将一些数据的自增标识什么的放在此类型里。

4:哈希(Hash)类型的数据特点是一个key值可以存放多个不同的标识对应不同的数据。这种的我一般就放用户数据,商品信息,活动数据之类的。

5:集合(Set)类型的数据特点是能够快速的将两个集合(Set)里面相同的字符数据给去重,或者单获得重复/不重复的数据。针对这种的数据类型,我一般是用于查询用户订阅/未订阅/可订阅的场景。

6:有序集合(Sorted Set)类型的数据特点是存储的数据都是不可重复的,但每个数据都关联了一个数字(只能存储正整数),这个数字是可以重复的(当数据重复后,新的数字会覆盖旧的数字)。我们可以根据这个数字做文章,可以取一段数字内的数据,或者大于/小于/等于这个数字的。针对这种的数据,我一般是存储文章信息(数字为文章时间)、用户等级(数字为积分的等级)等等。(So:我在工作中使用的这种数据类型比其他的要多。我感觉比其他的数据类型更常用)。

7:不同的数据类型之间不能操作,一个key只能设置一个数据类型,当已经设置为某个key为哈希(Hash)时,不能再将这个key再设置为其他的数据类型。

8:可以设置任何数据类型在一定时间内使key过期(自动删除)。可以给任意的key加锁,可以阻止一定量的并发。

9:可以分库,可实现如果数据是分库存放的,存储在redis的数据也可以分库存储操作。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值