Redis知识(一)----数据类型与应用场景

一、Redis的数据类型

  Redis主要有5种数据类型:String,List,Hash,Set,Zset。

数据类型可以存储的值 操作应用场景
String字符串、整数或者浮点数对整个字符串或者字符串的其中一部分执行操作; 对整数和浮点数执行自增或者自减操作做简单的键值对缓存
List列表从两端压入或者弹出元素对单个或者多个元素进行修剪,只保留一个范围内的元素存储一些列表型的数据结构,类似粉丝列表、文章的评论列表之类的数据
Hash存储一些列表型的数据结构,类似粉丝列表、文章的评论列表之类的数据添加、获取、移除单个键值对获取所有键值对检查某个键是否存在结构化的数据,比如一个对象
Set无序集合添加、获取、移除单个元素检查一个元素是否存在于集合中计算交集、并集、差集从集合里面随机获取元素交集、并集、差集的 操作,比如交集,可以把两个人的粉丝列表整一个交集
Zset有序集合添加、获取、删除元素根据分值范围或者成员来获取元素计算一个键的排名去重但可以排序,如获取排名前几名的用户

二、Redis的应用场景

1、计数器
  可以对 String 进行自增自减运算(INCR命令),从而实现计数器功能。Redis 这种内存型数据库的读写性能非常高,很适合存储频繁读写的计数量。
2、缓存
  将热点数据放到内存中,设置内存的最大使用量以及淘汰策略来保证缓存的命中率。
3、会话缓存
  可以使用 Redis 来统一存储多台应用服务器的会话信息。当应用服务器不再存储用户的会话信息,也就不再具有状态,一个用户可以请求任意一个应用服务器,从而更容易实现高可用性以及可伸缩性。
  除基本的会话token之外,Redis还提供很简便的FPC平台。
4、查找表
  如 DNS 记录就很适合使用 Redis 进行存储。查找表和缓存类似,也是利用了 Redis 快速的查找特性。但是查找表的内容不能失效,而缓存的内容可以失效,因为缓存不作为可靠的数据来源。
5、消息队列(发布/订阅功能)
  List 是一个双向链表,可以通过 lpush 和 rpop 写入和读取消息。不过最好使用 Kafka、RabbitMQ 等消息中间件。
  也可以代替dubbo等服务的注册中心。
6、分布式锁
  在分布式场景下,无法使用单机环境下的锁来对多个节点上的进程进行同步。可以使用 Redis 自带的 SETNX 命令实现分布式锁,除此之外,还可以使用官方提供的 RedLock 分布式锁实现。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值