Redis初探01——Redis介绍,安装与配置文件解析

时间:2021-09-28 20:34:48

一、NoSQL(Not Only SQL)介绍:
NoSQL不仅仅为sql,意为反sql运动,是一项全新的数据库革命性运动,早期就有人提出,它指的是非关系型的数据库。适用于超大规模的和高并发的网站。
NoSql是以key-value形式存储,和传统的关系型数据库不一样,不一定遵循传统数据库的一些基本要求,比如说遵循SQL标准,ACID属性(事务相关),表结构等,这类数据库主要有以下特点:非关系型的,分布式的(主从分离,读写分离),开源的,水平可扩展的。Redis是一个开源的,先进的key-value存储系统,他通常被称为数据结构服务器,因为键可以包含字符串,哈希,链表,集合和有序集合。它支持存储的value类型很多,包括String,list(链表),set(集合),zset(有序集合)。这些数据类型都支持push/pop,add/remove及取交集和并集及更丰富的操作,Redis支持各种不同方式的排序。为了保证效率数据都是缓存在内存中,他也可以周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件。
特点:
1、处理超大量的数据
2、运行在便宜的PC服务器集群上
3、击碎了性能瓶颈
适用场景:
1、对数据高并发读写
2、对海量数据的高效率存储和访问
3、对数据的高可扩展性和高可用性(分布式)
具体的场景:
1、取最新的N个数据的操作
2、排行榜应用,取TOPN操作
3、需要精确设定过期时间的应用。
4、计数器的应用
5、Uniq的操作,获取某段时间所有数据排重值
6、实时系统,反垃圾系统。
7、Pub/Sub构建实时消息系统
8、构建队列系统
9、缓存

二、Redis的安装
下载Redis:http://www.redis.net.cn/download/
下载的gz文件,解压到/home/softwares/:
tar -zxf redis-3..0.6.tar.gz -C /home/softwares/
redis需要make编译:
make
Redis初探01——Redis介绍,安装与配置文件解析

编译完成后,在src目录下需要安装:
make install
Redis初探01——Redis介绍,安装与配置文件解析

为了便于管理,在/home/softwares/ 下
新建文件夹redis/bin,用于存放命令,移动src下的命令到这个目录下
mv src/mkreleasehdr.sh src/redis-benchmark src/redis-check-aof src/redis-check-dump src/redis-cli src/redis-sentinel src/redis-server src/redis-trib.rb /home/softwares/redis/bin/
新建文件夹redis/etc,用于存放conf配置文件,移动配置文件到这个目录下:
redis.conf /home/softwares/redis/etc/
Redis初探01——Redis介绍,安装与配置文件解析

需要在后台启动Redis,则需要修改conf配置文件,将daemonize修改为yes。
vim /home/softwares/redis/etc/redis.conf

Redis初探01——Redis介绍,安装与配置文件解析

后台启动redis-server,需要指出其配置文件
./redis-server /home/softwares/redis/etc/redis.conf
然后查看redis是否启动完成。
通过进程查看:ps -ef | grep redis
或者通过端口查看,默认端口是6379:
netstat -tunpl | grep 6379
Redis初探01——Redis介绍,安装与配置文件解析

后台的redis-server启动完成后,进入客户端:./redis-cli
Redis初探01——Redis介绍,安装与配置文件解析

关闭后台的redis:
命令1:pkill redis-server
命令2:./redis-cli shutdown
Redis初探01——Redis介绍,安装与配置文件解析

Redis的配置:
配置文件:/home/softwares/redis/etc/redis.conf
1、daemonize:如果需要在后台运行,把该项改为yes;
2、pidfile:配置多个pid的地址,默认实在/var/run/redis.pid
3、bind:绑定ip,设置后只接受来自该ip的请求
4、port:监听端口,默认是6379
5、timeout:设置客户端连接时的超时时间,单位为秒
6、loglevel:分为四级,debug、verbose、notice、warning
7、logfile:配置log文件地址
8、dababase:设置数据库的个数,默认使用的数据库为0
9、save:设置redis进行数据库镜像的频率,同步/备份数据
10、rdbcompression:在进行镜像备份时,是否进行压缩
11、Dbfilename:镜像文件备份的文件名
12、Dir:镜像文件备份的文件放置路径
13、Salveof:设置数据库为其他数据库的从数据库
14、Masterauth:主数据库连接需要的密码验证
15、Requirepass:设置登录时需要使用的密码
16、Maxclients:限制同时连接的客户数量
17、Maxmemory:设置redis能够使用的最大内存
18、Appendonly:开启append only模式
19、Appendfsync:设置对appendonly.aof文件同步的频率,另一种数据备份
20、vm-enabled:是否开启虚拟内存支持
21、vm-swap-file:设置虚拟内存的交换文件路径
22、vm-max-memory:设置redis使用的最大物理内存大小
23、vm-page-size:设置虚拟内存的页大小
24、vm-pages:设置交换文件总的page数量
25、vm-max-threads:设置VMIO同时使用的线程数量
26、Glueoutputbuf:把小的输出缓存存放在一起
27、hash-max-zipmap-entries:设置hash的临界值
28、Activerehashing:重新hash