赞
踩
Redis基础概念
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
Redis安装MacOS 版本:10.12.6
一、下载并安装 Redis
官网: https://redis.io/download 下载Stable版本
本次下载版本:http://download.redis.io/releases/redis-5.0.4.tar.gz
Mac上下载路径默认:/Users/hotch/Downloads
二、安装Redis(使用root权限操作)
#sudo su
#cd /Users/hotch/Downloads/
#tar zvxf redis-5.0.4.tar.gz -----解压安装包
#cd redis-5.0.4
#sudo make test -----编译测试
#sudo make install -----编译安装
#redis-server ----启动Redis服务端
到此处。redis 已成功安装到Mac上 了
注意:Mac上使用:control +c 退出该界面
三、查看Redis进程,结束进程
查看redis进程: ,把对应的pid redis 进程 杀死。以便后续的配置
#ps -ef | grep -i redis
#kill -9 7322 -----pid:7322
四、修改配置
4.1 创建目录
在redis目录下建立bin,etc,db三个目录
#cd /usr/local/redis-5.0.4
#sudo mkdir bin etc db
4.2 移动文件
把 /usr/local/redis-5.0.4/src 目录下的
mkreleasehdr.sh
redis-benchmark ----redis性能测试工具
redis-check-rdb -----检查rdb日志的工具
redis-cli -----连接用的客户端
redis-server —redis服务进程
拷贝到 /usr/local/redis-5.0.4/bin 目录下
#cd /usr/local/redis-4.0.9/bin
#cp …/src/mkreleasehdr.sh .
#cp …/src/redis-benchmark .
#cp …/src/edis-check-rdb .
#cp …/src/redis-cli .
#cp …/src/redis-server .
拷贝 redis.conf 到 /usr/local/redis-5.0.4/etc下
#cp /usr/local/redis-5.0.4/redis.conf /usr/local/redis-5.0.4/etc
在 /usr/local/redis-5.0.4 目录下 新建日志文件: log-redis.log
#cd /usr/local/redis-5.0.4
#touch log-redis.log
在/usr/local/redis-5.0.4目录下 创建文件 redis.pid
#cd /usr/local/redis-5.0.4
#mkdir redis.pid
4.3 配置文件
拷贝 redis.conf 到 /usr/local/redis-5.0.4/etc下
#cp /usr/local/redis-5.0.4/redis.conf /usr/local/redis-5.0.4/etc
编辑redis.conf
#cd /usr/local/redis-5.0.4/etc
#vim redis.conf
注意: vim常用命令
1)i 编辑模式
2)esc +:wq 保存退出
3)esc + :q! - 不保存,退出
4) / 全文搜索
参照如下内容修改redis.conf :
#修改为守护模式,如需要在后台运行,把该项的值改为yes
daemonize yes
#设置进程锁文件 默认情况下把pid文件放在/var/run/redis.pid,可以配置到其他地址
pidfile /usr/local/redis/redis.pid
#端口 监听端口,默认为6379
port 6379
#客户端连接时的超时时间,单位为秒
timeout 300
#日志级别,等级分为4级,debug,revbose,notice和warning。生产环境下一般开启notice
loglevel debug
#日志文件位置,配置log文件地址,默认使用标准输出,即打印在命令行终端的端口上
logfile /usr/local/redis/log-redis.log
#设置数据库的数量,默认数据库为16,可以使用SELECT 命令在连接上指定数据库id
databases 16
##指定在多长时间内,有多少次更新操作,就将数据同步到数据文件,可以多个条件配合
#save
#Redis默认配置文件中提供了三个条件:
save 900 1
save 300 10
save 60 10000
#指定存储至本地数据库时是否压缩数据,默认为yes,Redis采用LZF压缩,如果为了节省CPU时间,
#可以关闭该#选项,但会导致数据库文件变的巨大,在进行镜像备份时,是否进行压缩
rdbcompression yes
#指定本地数据库文件名,镜像备份文件的文件名
dbfilename dump.rdb
#指定本地数据库路径,数据库镜像备份的文件放置的路径
dir /usr/local/redis/db/
#指定是否在每次更新操作后进行日志记录,Redis在默认情况下是异步的把数据写入磁盘,如果不开启,可能
#会在断电时导致一段时间内的数据丢失。因为 redis本身同步数据文件是按上面save条件来同步的,所以有
#的数据会在一段时间内只存在于内存中
appendonly no
#指定更新日志条件,共有3个可选值:
#no:表示等操作系统进行数据缓存同步到磁盘(快)
#always:表示每次更新操作后手动调用fsync()将数据写到磁盘(慢,安全)
#everysec:表示每秒同步一次(折衷,默认值)
appendfsync everysec
集群设置时:
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同时使用的线程数量
4.5 保存后,启动redis:
#./bin/redis-server ./etc/redis.conf ---- 启动redis服务,并指定配置文件
# control+c ----退出redis服务端启动界面
到这里,我们已经完成redis安装和配置。
五、常用命令
5.1 查看日志文件:
#tail -f log-redis.log
5.2 打开redis客户端
#/usr/local/redis-5.0.4/bin/redis-cli
#quit ---退出redis客户端编辑界面
5.3 检查是否启动:
#redis-cli ping
redis-cli 跟上命令会将参数发送到本地redis 6379 的端口,下面来看看基本操作:
5.4 redis客户端常用命令
set key value -----设置 key 的值
get key ---- 获取 key 的值
exists key ----- 查看此 key 是否存在
keys * ----- 查看所有的 key
flushall ----- 消除所有的 key
5.5 停止redis服务
关闭redis客户端
#/usr/local/redis/bin/redis-cli shutdown
关闭redis服务
#pkill redis-server
强行关闭服务端
强行终止redis进程可能会导致数据丢失,因为redis可能正在将内存数据同步到硬盘中。
方法一
#ps axu | grep redis 查找redis-server的PID
#kill -9 PID
方法二
#ps -ef | grep -i redis
#kill -9 pid
查看redis 默认端口号6379占用情况
#Netstat -tunpl | grep 6379
启动客户端
默认启动: 使用命令redis-cli启动客户端,按照默认配置连接Redis(127.0.0.1:6379)。
#/usr/local/redis-5.0.4/bin/redis-cli
指定地址和端口号
#redis-cli -h 127.0.0.1 -p 6379
6.启动服务端
#cd /usr/local/redis-5.0.4
#./bin/redis-server ./etc/redis.conf
六、(可选)安装图形化界面-redis客户端
安装mac客户端 : redis-desktop-manager
官网下载地址(发行版) :https://redisdesktop.com
github下载地址(测试版):/https://github.com/uglide/RedisDesktopManager/releases
安装时报错解决
进行了多次安装和卸载,重复安装没有卸载干净会报下面的错:
[exception]: Executing test client: couldn't execute "src/redis-benchmark":
make[1]: *** [test] Error 1 make: *** [test] Error 2
解决这个错误,执行下面的语句即可:
make distclean
make
make test
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。