基础知识:
1、Redis的数据类型:
字符串、列表(lists)、集合(sets)、有序集合(sorts sets)、哈希表(hashs)
2、Redis和memcache相比的独特之处:
(1)redis可以用来做存储(storge)、而memcache是来做缓存(cache)。这个特点主要是因为其有“持久化”功能
(2)存储的数据有“结构”,对于memcache来说,存储的数据,只有一种类型——“字符串”,而redis则可以存储字符串、链表、集合、有序集合、哈序结构
3、持久化的两种方式:
Redis将数据存储于内存中,或被配置为使用虚拟内存。
实现数据持久化的两种方式:(1)使用截图的方式,将内存中的数据不断写入磁盘(性能高,但可能会引起一定程度的数据丢失)
(2)使用类似mysql的方式,记录每次更新的日志
4、Redis的主从同步:对提高读取性能非常有益
5、Redis服务端的默认端口是6379
下载安装
如果的linux可以链接网络,那么可以直接联网下载。直接输入代码:
wget http://download.redis.io/releases/redis-3.0.2.tar.gz
官网地址:https://redis.io/download
解压安装:
tar xf redis-4.0.2.tar.gz
1、进入目录:执行make命令
如需更好的观察安装过程,执行nohup make,通过nohup.out文件查看
如图所示则表示安装成功
下面进入测试阶段
2、执行命令:make test
下面的错误是我安装遇到的
错误一:
You need tcl 8.5 or newer in order to run the Redis test
解决:
# yum install tcl
错误二:
Killing still running Redis server 4966
Killing still running Redis server 4971
Killing still running Redis server 4976
Killing still running Redis server 4978
Killing still running Redis server 4980
Killing still running Redis server 4983
Killing still running Redis server 4990
Killing still running Redis server 4991
Killing still running Redis server 4998
Killing still running Redis server 5001
Killing still running Redis server 5014
Killing still running Redis server 5134
Killing still running Redis server 5187
Killing still running Redis server 5208
Killing still running Redis server 5224
Killing still running Redis server 5253
Killing still running Redis server 5265
make[1]: *** [test] Error 1
make[1]: Leaving directory `/opt/redis/redis-4.0.2/src'
make: *** [test] Error 2
解决:
vim tests/integration/replication-2.tcl
- after 1000
+ after 10000
3、make install PREFIX=/usr/local/redis
Hint: It's a good idea to run 'make test' ;)
INSTALL install
INSTALL install
INSTALL install
INSTALL install
INSTALL install
4、将配置文件移动到redis目录
mkdir /usr/local/redis/etc
cp redis.conf /usr/local/redis/etc/
5、配置环境变量(以后就不需要进入redis的bin启动服务了)
#vim /etc/profile #添加 在export PATH之前 PATH=/usr/local/redis/bin:$PATH # source /etc/profile #立即生效
6,启动redis服务
7、默认情况,Redis不是在后台运行,需要把redis放在后台运行
#vim /usr/local/redis/etc/redis.conf //改成yes
8、客户端连接
9、停止redis实例
redis-cli shutdown
或者
pkill redis-server
10、让redis开机自启
vim /etc/rc.local 加入 /usr/local/redis/bin/redis-server /usr/local/redis/etc/redis-conf
11、接下来我们看看/usr/local/redis/bin目录下的几个文件是什么
redis-benchmark:redis性能测试工具
redis-check-aof:检查aof日志的工具
redis-check-dump:检查rdb日志的工具
redis-cli:连接用的客户端
redis-server:redis服务进程
12、Redis的配置
daemonize:如需要在后台运行,把该项的值改为yes pdifile:把pid文件放在/var/run/redis.pid,可以配置到其他地址 bind:指定redis只接收来自该IP的请求,如果不设置,那么将处理所有请求,在生产环节中最好设置该项 port:监听端口,默认为6379 timeout:设置客户端连接时的超时时间,单位为秒 loglevel:等级分为4级,debug,revbose,notice和warning。生产环境下一般开启notice logfile:配置log文件地址,默认使用标准输出,即打印在命令行终端的端口上 database:设置数据库的个数,默认使用的数据库是0 save:设置redis进行数据库镜像的频率 rdbcompression:在进行镜像备份时,是否进行压缩 dbfilename:镜像备份文件的文件名 dir:数据库镜像备份的文件放置的路径 slaveof:设置该数据库为其他数据库的从数据库 masterauth:当主数据库连接需要密码验证时,在这里设定 requirepass:设置客户端连接后进行任何其他指定前需要使用的密码 maxclients:限制同时连接的客户端数量 maxmemory:设置redis能够使用的最大内存 appendonly:开启appendonly模式后,redis会把每一次所接收到的写操作都追加到appendonly.aof文件中,当redis重新启动时,会从该文件恢复出之前的状态 appendfsync:设置appendonly.aof文件进行同步的频率 vm_enabled:是否开启虚拟内存支持 vm_swap_file:设置虚拟内存的交换文件的路径 vm_max_momery:设置开启虚拟内存后,redis将使用的最大物理内存的大小,默认为0 vm_page_size:设置虚拟内存页的大小 vm_pages:设置交换文件的总的page数量 vm_max_thrrads:设置vm IO同时使用的线程数量