redis概述
redis是什么
Redis(一种将数据存储在内存中的非关系型数据库)是一个开源的,C语言编写的,支持网络交互的,内存中的Key-Value数据结构的存储系统,支持多种语言,他可以用作数据库,缓存和消息的中间件
使用redis作为缓存,将一些访问量大,挥着修改次数少的数据使用redis存储起来,对mysql形成保护
为什么使用redis
随着web3.0时代的到来,传统数据库在大量访问的压力上存在一些性能问题,如连接数量的问题,io瓶颈的问题,此时我们使用redis存储一些非关系型数据,以3减少关系型数据库的访问压力
web1.0时代 2000年左右 静态网页
web2.0时代 动态页面 数据动态展示
web3.0时代 全民参与 例如:抖音,头条(用户量很大,链接数量大)
redis有多重缓存数据类型
String
单值缓存(可以存一个具体的值,也可以存储一个java对象,该对象必须是被序列化为一个json的值)
set key value
get key
del key 删除键
keys *
单值缓存可以为json字符串(存储对象需要转换为json字符串)
新闻点赞,每次与数据库交互一次,点赞数加一(作为计数器操作时set的初始值必须是整数,不指定会自动赋值)
单值缓存
Hash
一个键下可以存储多个属性和值
存储新闻的点赞和收藏数(两者相当于)
hash也是键值对形式,一个键可以对应多个值,每个值是一个对象
list
有序集合,可以重复存储
set(集合)
无序集合
zset(有序集合 不重复)
zadd key 分数 值
zrem key 值
zscore key 值 返回值的分数
zcard key 查看key下的元素个数