当前位置:网站首页>Redis-基本介绍/linux下环境配置/配置文件
Redis-基本介绍/linux下环境配置/配置文件
2022-08-09 22:48:00 【萌萌虎儿】
目录
一、NoSQL数据库
NoSQL(NoSQL = Not Only SQL ),意即“不仅仅是SQL”,泛指非关系型的数据库。
NoSQL 不依赖业务逻辑方式存储,而以简单的key-value模式存储。因此大大的增加了数据库的扩展能力。
- 不遵循SQL标准。
- 不支持ACID。
- 远超于SQL的性能。
NoSQL的适用场景:
- 对数据高并发的读写
- 海量数据的读写
- 对数据高可扩展性的
NoSQL不适用的场景:
- 需要事务支持
- 基于sql的结构化查询存储,处理复杂的关系,需要即席查询。
Redis是NoSQL数据库的一种,具有以下特点:
- 数据都在内存中,支持持久化,主要用作备份恢复,也作为缓存数据库辅助持久化的数据库
- 除了支持简单的key-value模式,还支持多种数据结构的存储,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。
- 这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。
- Redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件。
- 并且在此基础上实现了master-slave(主从)同步。
应用场景:
- 配合关系型数据库做高速缓存
- 高频次,热门访问的数据,降低数据库IO
- 分布式架构,做session共享
- 多样的数据结构存储持久化数据
Redis的默认端口是6379,是单线程+多路IO复用技术。
多路复用是指使用一个线程来检查多个文件描述符(Socket)的就绪状态,比如调用select和poll函数,传入多个文件描述符,如果有一个文件描述符就绪,则返回,否则阻塞直到超时。得到就绪状态后进行真正的操作可以在同一个线程里执行,也可以启动线程执行(比如使用线程池)
就好比人们通过黄牛买电影票。黄牛与影院之间是单线程,与若干买票的人之间是多路复用。票不是即买即有的,买票的人可能购买之后需要等待,在等待的过程中可以去做自己的事情,等黄牛告诉他有票时再来取。
二、linux环境下的安装
1.下载redis软件包的压缩文件(推荐去镜像源下载)
2.安装虚拟机软件,如vmware,然后安装centOS镜像(推荐去镜像源下载)
3.将redis-6.2.1.tar.gz放在桌面的自定义文件夹内,示例:
4.在该文件夹内打开终端,键入命令:tar -zxvf redis-6.2.1.tar.gz
5.进入解压后的redis-6.2.1目录,打开终端键入make 命令,执行完毕后再键入make install 命令(若提示权限不足,就先键入“su”,输入密码获取最高权限;有些情况可能提示要安装gcc编译器,但我安装的过程没有提示)。
6.这是安装成功后的安装目录:/usr/local/bin
redis-benchmark:性能测试工具,可以在自己本子运行,看看自己本子性能如何
redis-check-aof:修复有问题的AOF文件,rdb和aof后面讲
redis-check-dump:修复有问题的dump.rdb文件
redis-sentinel:Redis集群使用
redis-server:Redis服务器启动命令
redis-cli:客户端,操作入口
7.我们要设置后台启动,因为默认情况下是前台启动,一旦关闭了终端,服务器就也关了。
在桌面上新建一个文件夹,用于存放配置文件。把解压后的redis-6.2.1目录中的redis.conf文件复制过来:
8.打开该配置文件,搜索并修改下面的字段:
daemonize no --> daemonize yes
9.打开redis服务器:redis-server /xxx/xxx/redis.config
10.客户端连接redis服务器:redis-cli ,输入ping测试是否连接
三、配置文件redis.config
timeout:一个空闲的客户端维持多少秒会关闭,0表示关闭该功能。即永不关闭。
tcp-keepalive:对访问客户端的一种心跳检测,每个n秒检测一次。单位为秒,如果设置为0,则不会进行Keepalive检测,建议设置成60
port:端口号,默认6379
daemonize:是否为后台进程,一般设置为yes
loglevel;指定日志记录级别,Redis总共支持四个级别:debug、verbose、notice、warning,默认为notice
databases:设定库的数量,默认16,默认数据库为0,可以使用SELECT <dbid>命令在连接上指定数据库id
maxmemory :建议必须设置,否则,将内存占满,造成服务器宕机设置redis可以使用的内存量。一旦到达内存使用上限,redis将会试图移除内部数据,移除规则可以通过maxmemory-policy来指定。如果redis无法根据移除规则来移除内存中的数据,或者设置了“不允许移除”,那么redis则会针对那些需要申请内存的指令返回错误信息,比如SET、LPUSH等。但是对于无内存申请的指令,仍然会正常响应,比如GET等。如果你的redis是主redis(说明你的redis有从redis),那么在设置内存使用上限时,需要在系统中留出一些内存空间给同步队列缓存,只有在你设置的是“不移除”的情况下,才不用考虑这个因素。
maxclients:设置redis同时可以与多少个客户端进行连接。默认情况下为10000个客户端
如果想要远程访问redis服务器,需要修改下面几个重要的参数:
bind:默认情况bind=127.0.0.1只能接受本机的访问请求,不写的情况下可以无限制接受任何ip地址的访问
protected-mode:如果开启了protected-mode,那么在没有设定bind ip且没有设密码的情况下,Redis只允许接受本机的响应。应设置为 no
边栏推荐
- ES6 从入门到精通 # 12:数组的扩展方法一
- 【mysql】查询今天9点
- 首席信息官如何将可持续性和技术结合起来
- [Cloud native] Kubernetes orchestration tools
- 【SSL集训DAY2】Sequence【数学】
- 软考 --- 软件工程(7)软件项目管理(下)
- Travel with Shengteng: See all the AI attractions in Jinling City in one day
- 70. Stair Climbing Advanced Edition
- 下班后用微信处理工作时发病身亡,法院判决:工伤!
- 直播平台怎么搭建,原生js实现编辑器撤消/恢复功能
猜你喜欢
随机推荐
Click: 518. Change Exchange II
Wireshark经典实践和面试13点总结
61.【快速排序法详解】
【SSL集训DAY2】Sort【树状数组】
完全背包理论
AirFlow介绍
探索TiDB Lightning源码来解决发现的bug
【集训DAY5】选数字【数学】
恭喜获奖得主 | 互动有礼获赠 Navicat Premium
干货!迈向鲁棒的测试时间适应
Has your phone ever been monitored?
CAD 连接两个相交线
多商户商城系统功能拆解24讲-平台端分销会员
上海一科技公司刷单被罚22万,揭露网络刷单灰色产业链
Force Buckle: 474. Ones and zeros
Comprehensive analysis of FPGA basics
70. Stair Climbing Advanced Edition
数字钱包红海角逐,小程序生态快速引入可助力占领智慧设备入口
力扣:377. 组合总和 Ⅳ
【集训DAY5】堆箱子【数学】