redis学习整合(一)

1.redis概念

redis是非关系型数据库,存储于内存当中(所以速度非常快)。一般用于热点数据的缓存使用,也可以用于分布式锁(因为可以多个服务器共享数据),以key-value的形式存储。

主要用于减轻数据库的压力。

 

 安装可参考该文章https://www.cnblogs.com/happywish/p/10944253.html

2.redis的五大数据类型

1.String

 

 常用命令为:

1.set key value 设置固定键的值

2.get key       获取固定键的值

3.mget key  获取多个key的值

4.setex key seconds value 插入一个键值并设置一个过期时间(单位为秒)

5.setnx key value   当key不存在时设置一个值(常用于分布式锁)

6.incr key  将键的整数值加1

7.decr key 将键的整数值减1

使用场景:常规key-value缓存应用。也可用于常规计数: 微博数, 粉丝数。

2.List

 

list就是链表,按插入顺序排序,也可以在头尾插入。

常用命令为:

1.lpush key value (value2) 将一个或多个值插入列表

2.lrange key start stop   获取范围内元素

3.lrem key count value  移除列表几个元素

4.llen key 获取列表长度

5.lpop key 移除并获取第一个元素

6.rpop key 移除并获取最后一个元素

7.rpush key value(value2)将一个或多个值插入列表底部

8.ltrim key start stop  对一个列表进行范围管制,只保留该范围内的数据。

应用场景:正常用于粉丝列表,关注列表。(list为链表)

3.Set

Set是String类型的无序集合,但成员具有唯一性。即不会出现重复的数据。

 

常用命令为:

1.sadd key value(value2)  向集合添加成员 

2.smembers key  获取集合所有成员

3.spop key   移除并返回一个随机成员

4.scard key 获取集合的成员数

5.sdiff key1 key2 返回集合的差集

6.sinter key1 key2 返回集合的合集

7.sunion key1 key2 返回集合并集

8. sismember key member 判断 member 元素是否是集合 key 的成员

应用场景:可以自动排重,一般可以比作不重复的list。一般可以用于微博中的共同关注、共同喜好、二度好友等功能。

set 的内部实现是一个 value永远为null的HashMap,实际就是通过计算hash的方式来快速排重的,这也是set能提供判断一个成员是否在集合内的原因。

4.Zset 

常用命令为:

1. zadd key score member1   (socre2 member2) 向有序集合添加成员

2.zcard key  获取成员数量

3.zrange key  start stop   获取范围内成员 

4.zrem key menber  移除指定值的成员

5.zremrangebyrank key start stop 移除指定排名区间的成员

6.zremrangebylex  key min max  移除指定区间成员 (一般加入“[”表示包含   “(”表示不包含)   

 

 

7.zrangebylex key min max  查询字典区间范围  (“-”和“+”)则表示最小值和最大值

 应用场景:与set相比,多了个自动排序。即为一个有序且不重复的集合列表。一般用于文章的发表排行,以发表时间为score。

zset内部使用HashMap和跳跃表(SkipList)来保证数据的存储和有序,HashMap里放的是成员到score的映射,而跳跃表里存放的是所有的成员,排序依据是HashMap里存的score,使用跳跃表的结构可以获得比较高的查找效率,并且在实现上比较简单。

5.hash

 

常用命令为:

1.hmset key field value(field2 value2)插入field-value数据

2.hmget key field (field2)查询对应field数据

3.hkeys key  获取表中所有字段名

4.hgetall key 获取所有字段和值

5.hvals key  获取表中所有值

 应用场景:一般用于存放用户对应的姓名年龄生日等数据,如以用户id为key 姓名和姓名数据为field和value。这样相比于用string类型会省去很多重复数据降低了内存的开销。

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值