「这是我参与11月更文挑战的第15天,活动详情查看:2021最后一次更文挑战」
Redis简介
早些年的 双十一 12306 每到特殊节日就崩溃
这些问题的现象: 海量数据 高并发
罪魁祸首 ---- 关系型数据库
性能瓶颈:磁盘IO性能低下 扩展瓶颈:数据关系复杂,扩展性差,不便于大规模集群
解决思路:
降低磁盘IO次数,越低越好 ---- 内存存储 去除数据间关系,越简单越好 ---- 不存储关系,仅存储数据
Nosql就是这个思路
Nosql: 即Not-only SQL (泛指非关系型的数据库),作为关系型数据库的补充。 作用:应对基于海量用户和海量数据前提下的数据处理问题。
特征: 1.可扩容,可伸缩 2.大数据量下高性能 3.灵活的数据模型 4.高可用
常见的Nosql数据库:
- redis
2.memcache
3.HBase
4.MongoDB
Redis : 概念:Redis 是用C语言开发的一个开源的高性能键值对 (key-value)数据库。
特征:
-
数据间没有必然的关联关系
-
内部采用单线程机制进行工作。
-
高性能。官方提供测试数据,50个并发执行 100000 个请求,读的速度是 110000次/s, 写的速度是 81000次/s。
-
多数据类型支持
字符串类型、列表类型、散列类型、集合类型、有序集合类型
- 支持持久化,可以进行数据灾难恢复。
基于CentOS 安装Redis
下载安装包: wget download.redis.io/releases/re…
解压安装包: tar -xvf redis-5.0.0.tar.gz
编译(在解压的目录中执行) make
安装(在解压的目录中执行) make install
Redis 服务器启动:
启动服务器 -- 参数启动 redis-server [--port port]
redis-server --port 6379
Redis客户端启动:
启动客户端: redis-cli -h 127.0.0.1 -p 6384
Redis基础环境设置约定:
创建配置文件存储目录:
mkdir conf
创建服务器文件存储目录
mkdir data
创建快速访问链接:
ln -s redis-5.0.0 redis
服务器端设定:
设置服务器以守护进程的方式运行,开启后服务器控制台将打印服务器运行信息
daemonize yes|no
绑定主机地址:
bind ip
设置服务器端口号
port port
设置服务器文件保存地址:
dir path
客户端配置:
服务器允许客户端链接最大数量,默认0,表示无限制。当客户端链接到达上限后,Redis会拒绝新的链接。
maxclients count
客户端闲置等待最大时长,达到最大值后关闭对应链接,如需关闭该功能,设置为 0
timeout seconds