目录
一、NoSQL数据库
二、linux环境下的安装
三、配置文件redis.config
NoSQL(NoSQL = Not Only SQL ),意即“不仅仅是SQL”,泛指非关系型的数据库。
NoSQL 不依赖业务逻辑方式存储,而以简单的key-value模式存储。因此大大的增加了数据库的扩展能力。
NoSQL的适用场景:
NoSQL不适用的场景:
Redis是NoSQL数据库的一种,具有以下特点:
应用场景:
Redis的默认端口是6379,是单线程+多路IO复用技术。
多路复用是指使用一个线程来检查多个文件描述符(Socket)的就绪状态,比如调用select和poll函数,传入多个文件描述符,如果有一个文件描述符就绪,则返回,否则阻塞直到超时。得到就绪状态后进行真正的操作可以在同一个线程里执行,也可以启动线程执行(比如使用线程池)
就好比人们通过黄牛买电影票。黄牛与影院之间是单线程,与若干买票的人之间是多路复用。票不是即买即有的,买票的人可能购买之后需要等待,在等待的过程中可以去做自己的事情,等黄牛告诉他有票时再来取。
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测试是否连接
timeout:一个空闲的客户端维持多少秒会关闭,0表示关闭该功能。即永不关闭。
tcp-keepalive:对访问客户端的一种心跳检测,每个n秒检测一次。单位为秒,如果设置为0,则不会进行Keepalive检测,建议设置成60
port:端口号,默认6379
daemonize:是否为后台进程,一般设置为yes
loglevel;指定日志记录级别,Redis总共支持四个级别:debug、verbose、notice、warning,默认为notice
databases:设定库的数量,默认16,默认数据库为0,可以使用SELECT
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