Mac Redis-4.0.11安装、配置

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

1、先到Redis官网(redis.io)下载redis安装包 

Mac Redis-4.0.11安装、配置

 

2.加下载下来的压缩包解压,并将解压出来的文件放入/usr/local文件夹下。(系统目录可能需要鉴定)

  • 解压:tar zxvf redis-4.0.11.tar.gz
  • 移动到: mv redis-4.0.11 /usr/local/

3.切换到我们拖拽的文件下然后进行编译测试,编译安装

  • 切换到:cd /usr/local/redis-4.0.11/
  • 编译测试 sudo make test
  • 编译安装 sudo make install

redis 的启动与停止

redis-server 和 redis-cli 位于 redis-4.0.11/src 目录下 (这里我是首先打开这个目录(/usr/local/redis-4.0.11)下进行的,也可以直接进行具体的目录文件)(如果看到别的安装环境有bin、etc等文件夹的路径出现的,不要着急后面会讲,这里先一步步从基本开始)

  • 启动:启动 Redis 并加载配置文件:./src/redis-server(这里有一个空格) ./redis.conf

成功之后可看到类似如下的终端样式:Mac Redis-4.0.11安装、配置

  • 打开redis客户端 redis-cli;如果有密码,可使用 auth yourpassword做简单的密码登录
  • 关闭方式一:在客户端执行 SHUTDOWN可关闭 redis 服务
  • 如果关闭不了就加一个参数,执行 SHUTDOWN NOSAVE可关闭 redis 服务
  • 关闭方式二:如果用了zsh,可以执行kill redis并按tab,结束 redis 进程,也可在活动监视器里结束掉进程。

 

3.配置(关闭以上终端,另开一个终端界面)

在redis目录下建立bin,etc,db三个目录

sudo mkdir  /usr/local/redis-3.2.8/bin
sudo mkdir  /usr/local/redis-3.2.8/etc
sudo mkdir  /usr/local/redis-3.2.8/db

把/usr/local/redis/src目录下的mkreleasehdr.sh,redis-benchmark, redis-check-rdb, redis-cli, redis-server拷贝到bin目录

cp /usr/local/redis-3.2.8/src/mkreleasehdr.sh .
cp /usr/local/redis-3.2.8/src/redis-benchmark .
cp /usr/local/redis-3.2.8/src/redis-check-rdb .
cp /usr/local/redis-3.2.8/src/redis-cli .
cp /usr/local/redis-3.2.8/src/redis-server .

拷贝 redis.conf 到 /usr/local/redis/etc下

cp /usr/local/redis-3.2.8/redis.conf /usr/local/redis-3.2.8/etc

修改redis.conf( vim /usr/local/redis-4.0.11/redis.conf)

#修改为守护模式(改成yes将会在开启redis的终端界面关闭后台情况下仍能够使用)
daemonize yes
#设置进程锁文件
pidfile /usr/local/redis-3.2.8/redis.pid
#端口
port 6379
#客户端超时时间
timeout 300
#日志级别
loglevel debug
#日志文件位置
logfile /usr/local/redis-3.2.8/log-redis.log
#设置数据库的数量,默认数据库为0,可以使用SELECT <dbid>命令在连接上指定数据库id
databases 16
##指定在多长时间内,有多少次更新操作,就将数据同步到数据文件,可以多个条件配合
#save <seconds> <changes>
#Redis默认配置文件中提供了三个条件:
save 900 1
save 300 10
save 60 10000
#指定存储至本地数据库时是否压缩数据,默认为yes,Redis采用LZF压缩,如果为了节省CPU时间,
#可以关闭该#选项,但会导致数据库文件变的巨大
rdbcompression yes
#指定本地数据库文件名
dbfilename dump.rdb
#指定本地数据库路径
dir /usr/local/redis-3.2.8/db/
#指定是否在每次更新操作后进行日志记录,Redis在默认情况下是异步的把数据写入磁盘,如果不开启,可能
#会在断电时导致一段时间内的数据丢失。因为 redis本身同步数据文件是按上面save条件来同步的,所以有
#的数据会在一段时间内只存在于内存中
appendonly no
#指定更新日志条件,共有3个可选值:
#no:表示等操作系统进行数据缓存同步到磁盘(快)
#always:表示每次更新操作后手动调用fsync()将数据写到磁盘(慢,安全)
#everysec:表示每秒同步一次(折衷,默认值)
appendfsync everysec

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同时使用的线程数量

之后我们再次启动服务的话就可以使用以下终端代码启动redis服务

./bin/redis-server etc/redis.conf

查看日志

tail -f log-redis.log

Mac Redis-4.0.11安装、配置

打开redis客户端

./bin/redis-cli

Mac Redis-4.0.11安装、配置

客户端常用命令:

命令 用途
set key value 设置 key 的值
get key 获取 key 的值
exists key 查看此 key 是否存在
keys * 查看所有的 key
flushall 消除所有的 key

--------------------- 作者:Jason_M_Ho 来源:**** 原文:https://blog.****.net/jason_m_ho/article/details/80007330?utm_source=copy 版权声明:本文为博主原创文章,转载请附上博文链接!