Redis介绍和安装
一. Redis的介绍
Redis 是一个Key-Value存储的系统;它支持存储的value类型有string(字符串),list(列表),set(集合),zset(有序集合);为了保证效率;数据都缓存在内存中;它也周期性将内存数据写入磁盘或者把读写操作写入记录文件。Redis使用单线程模型;还有其他特性:例如健过期,发布/订阅,事务功能等等。
相比其他个Key-Value存储的系统;有这些优势:
- 数据的持久性;Redis会周期性将内存数据写入磁盘和将读写操作写入记录文件。保证数据库在重启之后数据不丢失
- 支持master-slave模式;主从复制
- 支持存储value类型多样性;有list(列表),set(集合),zset(有序集合),bitmap等等。
- 在3.0版本正式提供了高可用分布式架构Redis Cluster集群;提供了高可用性,读写和容量的扩展。
二. Redis的安装与部署
2.1 下载地址
2.2 安装
tar -zxvf redis-5.0..tar.gz
cd redis-5.0.
make
cd src
make install PREFIX=/usr/local/redis
mkdir -p /usr/local/redis/etc
mv ../redis.conf /usr/local/redis/etc
2.3 创建redis用户
习惯了使用非root用户来管理数据库;前提我们需要创建redis用户和相关目录
useradd redis
mkdir -p /data/redis/{logs,conf,pid,data}
chown -R redis:redis /data/redis
配置redis;在/data/redis/conf目录下创建redis-6379.conf文件;内容如下
###基本参数###
daemonize yes
pidfile /data/redis/pid/redis-.pid
port
tcp-backlog
bind 0.0.0.0
timeout
tcp-keepalive
loglevel notice
logfile /data/redis/logs/redis-.log
databases
lua-time-limit
maxclients
protected-mode yes
dir /data/redis/data/ ###慢日志参数###
slowlog-log-slower-than
slowlog-max-len ###内存参数###
#maxmemory 1G
#maxmemory-policy volatile-lru ###RDB持久化参数###
save
stop-writes-on-bgsave-error yes
rdbcompression yes
rdbchecksum yes
dbfilename "dump-6379.rdb" ###AOF持久化参数###
no-appendfsync-on-rewrite yes
appendonly yes
appendfilename "appendonly-6379.aof"
appendfsync no
auto-aof-rewrite-min-size 512mb
auto-aof-rewrite-percentage
aof-load-truncated yes
aof-rewrite-incremental-fsync yes ###客户端Buffer参数###
client-output-buffer-limit normal
client-output-buffer-limit slave 256mb 64mb
client-output-buffer-limit pubsub 32mb 8mb ###其他参数###
hash-max-ziplist-entries
hash-max-ziplist-value
list-max-ziplist-entries
list-max-ziplist-value
set-max-intset-entries
zset-max-ziplist-entries
zset-max-ziplist-value
hll-sparse-max-bytes
activerehashing yes
latency-monitor-threshold
hz ###安全参数###
requirepass li0924
# masterauth
rename-command KEYS REDIS_KEYS
rename-command FLUSHDB REDIS_FLUSHDB
rename-command FLUSHALL REDIS_FLUSHALL ###复制参数(从库)###
###集群参数###
相关配置参数:
- 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同时使用的线程数量
- stop-writes-on-bgsave-error 强制关闭Redis快照导致不能持久化;默认为yes
配置用户环境变量
export REDIS_HOME=/usr/local/redis
export PATH=$PATH:$REDIS_HOME/bin alias rds_start="redis-server /data/redis/conf/redis-6379.conf"
alias rds_stop="redis-cli -a li0924 shutdown &> /dev/null"
alias rsql="redis-cli"
2.4 启动redis
redis-server /data/redis/conf/redis-.conf
# 或者
rds_start
2.5 关闭redis
redis-cli shutdown
# 或者
rds_stop
当然还有一种更直接,更粗暴的方式 kill进程 。不建议这样操作;因为这样不会做持久化操作;
pkill redis-server
2.6 redis命令行
redis-cli
# 或者
rsql
2.7 redis工具箱
redis-benchmark:redis性能测试工具
redis-check-aof:检查aof日志的工具
redis-check-dump:检查rdb日志的工具
redis-cli:连接用的客户端
redis-server:redis服务进程
2.8 消除Redis启动提醒
当然这也许需要根据日志如何提醒;做对应的修改。
# 在/etc/sysctl.conf文件添加
vm.overcommit_memory =
net.core.somaxconn =
# 在/etc/rc.local文件添加
echo never > /sys/kernel/mm/transparent_hugepage/enabled
现在可以愉快玩耍redis
# . 启动redis数据库
[redis@Postgres ~]$ rds_start
# . 连接redis数据库
[redis@Postgres ~]$ rsql
# . 密码安全认证
127.0.0.1:> AUTH li0924
OK
# . 查看所有健;原命令是KEYS *;
127.0.0.1:> redis_keys *
) "name"
# . 设置K-V
127.0.0.1:> set hello world
OK
127.0.0.1:> redis_keys *
) "hello"
) "name"
# . 获取健hello的值
127.0.0.1:> get hello
"world"
# . 退出redis客户端
127.0.0.1:> exit
# . 关闭redis数据库
[redis@Postgres ~]$ rds_stop
[redis@Postgres ~]$ rsql
Could not connect to Redis at 127.0.0.1:: Connection refused
Redis介绍和安装的更多相关文章
- Redis介绍以及安装(Linux)
Redis介绍以及安装(Linux) redis是当前比较热门的NOSQL系统之一,它是一个key-value存储系统.和Memcached类似,但很大程度补偿了memcached的不足,它支持存储的 ...
- Redis介绍以及安装(Linux)
Redis介绍以及安装(Linux) redis是当前比较热门的NOSQL系统之一,它是一个key-value存储系统.和Memcached类似,但很大程度补偿了memcached的不足,它支持存储的 ...
- redis介绍、安装、redis持久化、redis数据类型
1.redis介绍 2.安装管网:https://redis.io/下载:wget -c http://download.redis.io/releases/redis-4.0.11.tar.gz解 ...
- redis介绍以及安装
一.redis介绍 redis是一个key-value存储系统.和Memcached类似,它支持存储的values类型相对更多,包括字符串.列表.哈希散列表.集合,有序集合. 这些数据类型都支持pus ...
- 1.Redis介绍以及安装
Redis介绍 Redis是一个开源的(BSD开源协议),内存数据结构存储,被用于作为数据库,缓存和消息代理. Redis支持如下数据结构: string(字符串) hashes(哈希) lists ...
- redis介绍和安装(一)
Redis介绍:redis是一个key-value存储系统. 和Memcached类似,它支持存储的value类型相对更多,包括 string(字符串). list(链表).set(集合).zset( ...
- Redis介绍、安装部署、操作
学习连接:http://www.runoob.com/redis/redis-tutorial.html 一.Redis介绍 Redis是NoSql的一种. NoSql,全名:Not Only Sql ...
- Redis介绍、安装、配置
NoSQL介绍 NoSQL(NoSQL=Not Only SQL),意为反SQL运动,是一项全新的数据库革命性运动.指的是非关系型数据库,解决了传统的关系型数据库,难以解决的超大规模和高并发的的问题 ...
- Redis - 介绍及安装
Redis属于key-value数据库,与传统的数据库存在很大区别,Redis以命令的方式代替了复杂的SQL语句,并且属于内存库性质,所以运行速度非常快.内存数据会生成数据库文件保证数据持久化. Re ...
随机推荐
- 3D打印开源软件Cura分析(1) 【转】
http://www.sohu.com/a/236241465_100000368 Cura是Ultimaker公司开发的3D打印开源软件,在所有的3D打印开源软件中应属上乘之作,很有研究的价值.国内 ...
- 时间>金钱
时间>金钱! 如果有机会,用你的金钱去换取别人的成功经验,一定要抓住一切机会向顶尖人士学习. 仔细选择你接触的对象,因为这会节省你很多时间. 假设与一个成功者在一起,他花了10年时间成功,你跟1 ...
- 使用多个项目生成Xml文件来显示帮助文档
终于到这了,我们首先将Product单独作为一个项目 WebAPI2PostMan.WebModel 并引用他,查看文档如下. 你会发现,你的注释也就是属性的描述没有了.打开App_Data/XmlD ...
- Unity应用架构设计(4)——设计可复用的SubView和SubViewModel(Part 2)
在我们设计和开发应用程序时,经常要用到控件.比如开发一个客户端WinForm应用程序时,微软就为我们提供了若干控件,这些控件为我们提供了可被定制的属性和事件.属性可以更改它的外观,比如背景色,标题等, ...
- 【转载】springboot四 全局异常处理
http://tengj.top/2018/05/16/springboot13/ https://www.jb51.net/article/110533.htm
- 利用cwRsync客户端将Windows下文件同步到Linux
这里不描述Linux服务端安装配置rsync服务的过程,有需要可以在网络上查找相关教程. 1.安装cwRsync客户端下载地址:http://itefix.no/cwrsync/下载文件cwRsync ...
- 关于XCode工程中PrefixHead.pch文件的使用
1.首先先清除pch文件在工程中的作用: 存放一些全局的宏(整个项目中都用得上的宏) 用来包含一些全部的头文件(整个项目中都用得上的头文件) 能自动打开或者关闭日志输出功能 2.由于新建的XCode工 ...
- [db]mysql全量迁移db
机房要裁撤, 原有的老业务机的mysql需要迁移到新的. 方案1: 全量打包拷贝data目录, 发现拷过去各种毛病 方案2: mysqldump逻辑导出解决问题 新的db刚安装好. 步骤记录下. # ...
- Linux: Linux C 获取当前系统时间的时间戳(精确到秒、毫秒、微秒) gettimeofday
说明 获取当前的时间的秒数和微秒数本方法需要用到 gettimeofday() 函数,该函数需要引入的头文件是 <sys/time.h> . 函数说明 int gettimeofday ...
- 使用ffmpeg搭建HLS直播系统
[时间:2018-04] [状态:Open] [关键词:流媒体,stream,HLS, ffmpeg,live,直播,点播, nginx, ssegment] 0 引言 本文作为HLS综述的后续文章. ...