Java-Redis

1.简单介绍一下Redis

Redis是一个使用C语言开发的数据库,不过与传统的数据库不同的是Reids的数据库是存在内存中的,也就是它是内存数据库,所以读写速度非常快,因此Redis被广泛应用于缓存方向。

Redis除了做缓存之外,Redis也经常用来做分布式锁,甚至是消息队列。

Redis提供了多种数据类型来支持不同的业务场景。Redis还支持事务、持久化、Lua脚本、多种集群方案

优点

  • 读写性能极高
  • 支持数据持久化
  • 支持事务
  • 数据结构丰富
  • 支持主从复制
  • 丰富的特性

缺点

  • 数据库容量收到物理内存的限制,不能用作海量数据的高性能读写,因此Redis适合的场景主要局限在较小数据量的高性能操作和运算上。
  • 主机宕机,宕机前有部分数据未能及时同步到从机,切换IP后还会引入数据不一致的问题,降低了系统的可用性。

2.缓存数据的处理流程

  1. 如果用户请求的数据在缓存中就直接返回
  2. 缓存中不存在的话就看数据中是否存在
  3. 数据库中不存在的话就更新缓存中的数据
  4. 数据库中不存在的话就返回空数据。

3.Rsdis常见的数据库

A.字符串类型 String

String数据结构是简单的key-value类型,可以存储任何类型的数据,包括二进制数据,序列化后的数据,JSON化后的数据,甚至是一张图片。最大为512M

常用命令:set、get、strlen、exists、dect、incr、setex

应用场景:计数器:记录播放量,记录访问数(Redis记总数,MySQL记录日志)、登录验证码

B.列表类型 list

是简单的字符串列表,按照插入顺序排序,元素可以重复。可以添加一个元素到列表的头部或者尾部,底层是个链表结构。实现的是双向链表,既可以支持反向查找和遍历,更方便操作,不过带来了部分额外的内存开销。

 常用命令:rpush、lpop、lpush、rpop、lrange、llen

应用场景:消息队列,慢查询

C. 集合类型 set

是String类型的无序无重复集合 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值