关于redis,学会这8点就够了

本人花费半年的时间总结的《Java面试指南》已拿腾讯等大厂offer,已开源在github ,欢迎star!

本文GitHub https://github.com/OUYANGSIHAI/JavaInterview 已收录,这是我花了6个月总结的一线大厂Java面试总结,本人已拿大厂offer,欢迎star

原文链接:blog.ouyangsihai.cn >> 关于redis,学会这8点就够了

来源:中间件小哥
链接:blog.csdn.net/middleware2018/

链接:blog.csdn.net/middleware2018/

一、redis是什么

redis是一种支持Key-Value等多种数据结构的存储系统。可用于缓存、事件发布或订阅、高速队列等场景。该数据库使用ANSI C语言编写,支持网络,提供字符串、哈希、列表、队列、集合结构直接存取,基于内存,可持久化。

二、支持的语言

关于redis,学会这8点就够了

三、redis的应用场景有哪些

1、会话缓存(最常用)
2、消息队列,比如支付
3、活动排行榜或计数
4、发布、订阅消息(消息通知)
5、商品列表、评论列表等

四、redis数据类型

Redis一共支持五种数据类:

string(字符串)、hash(哈希)、list(列表)、set(集合)和zset(sorted set 有序集合)。

1、string(字符串)

它是redis最基本的数据类型,一个key对应一个value,需要注意是一个键值最大存储512MB。

关于redis,学会这8点就够了

2、hash(哈希)

redis hash是一个键值对的集合, 是一个string类型的field和value的映射表,适合用于存储对象

关于redis,学会这8点就够了

3、list(列表)

是redis简单的字符串列表,它按插入顺序排序

关于redis,学会这8点就够了

4、set(集合)

是string类型的无序集合,也不可重复

关于redis,学会这8点就够了

5、zset(sorted set 有序集合)

是string类型的有序集合,也不可重复
sorted set中的每个元素都需要指定一个分数,根据分数对元素进行升序排序,如果多个元素有相同的分数,则以字典序进行升序排序,sorted set 因此非常适合实现排名

关于redis,学会这8点就够了

五、redis服务相关的命令

关于redis,学会这8点就够了

slect       # 选择数据库(数据库编号0-15)
quit        # 退出连接
info        # 获得服务的信息与统计
monitor     # 实时监控
config get  # 获得服务配置
flushdb     # 删除当前选择的数据库中的key
flushall    # 删除所有数据库中的key

六、redis的发布与订阅

redis发布与订阅(pub/sub)是它的一种消息通信模式,一方发送信息,一方接收信息。

下图是三个客户端同时订阅同一个频道

关于redis,学会这8点就够了

下图是有新信息发送给频道1时,就会将消息发送给订阅它的三个客户端

关于redis,学会这8点就够了

七、redis持久化

redis持久有两种方式:

Snapshotting(快照)、Append-only file(AOF)

Snapshotting(快照)

1、将存储在内存的数据以快照的方式写入二进制文件中,如默认dump.rdb中

2、save 900 1
900秒内如果超过1个Key被修改,则启动快照保存

3、save 300 10
300秒内如果超过10个Key被修改,则启动快照保存

4、save 60 10000
60秒内如果超过10000个Key被修改,则启动快照保存

Append-only file(AOF)

1、使用AOF持久时,服务会将每个收到的写命令通过write函数追加到文件中(appendonly.aof)

2、AOF持久化存储方式参数说明


appendonly yes  
    #开启AOF持久化存储方式 
appendfsync always 
    #收到写命令后就立即写入磁盘,效率最差,效果最好
appendfsync everysec
    #每秒写入磁盘一次,效率与效果居中
appendfsync no 
    #完全依赖OS,效率最佳,效果没法保证

八、redis 性能测试

自带相关测试工具

关于redis,学会这8点就够了

实际测试同时执行100万的请求

关于redis,学会这8点就够了

关注后端技术精选,每天推送优质好文

关于redis,学会这8点就够了
本人花费半年的时间总结的《Java面试指南》已拿腾讯等大厂offer,已开源在github ,欢迎star!

本文GitHub https://github.com/OUYANGSIHAI/JavaInterview 已收录,这是我花了6个月总结的一线大厂Java面试总结,本人已拿大厂offer,欢迎star

原文链接:blog.ouyangsihai.cn >> 关于redis,学会这8点就够了


 上一篇
Spark 从零到开发(八)nginx日志清洗并持久化实战 Spark 从零到开发(八)nginx日志清洗并持久化实战
本文将介绍如何清洗nginx日志并存储到mysql中,附带azkaban定时任务协作完成对 access.log的清洗任务。 1. 查看nginx日志格式 cd /var/log/nginx 1234567[root@FantJ ngi
2021-04-05
下一篇 
nginx反向代理转发apache配置 之 cookie去哪儿了? nginx反向代理转发apache配置 之 cookie去哪儿了?
作者:等你归去来链接:www.cnblogs.com/yougewe 在公司接手了个微信项目,由于微信环境下访问网站需要使用对外开放的域名,所以有相关问题,都是直接运维同事帮忙处理。 原理是这样:方案一: 将域名解析指向测试服务器的地址
2021-04-05