一、 Redis基本知识
1.Redis 的数据类型
字符串 , 列表 (lists) , 集合 (sets) , 有序集合 (sorts sets) , 哈希表 (hashs)
2.Redis的特性
()使用ANSI C编写
()遵守BSD协议
()支持网络
()可基于内存亦可持久化
()日志型、Key-Value数据库
通常被称为数据结构服务器,因为其value可以是String,Map,list,set,sorted set
3.特点
支持数据持久化,可以将内存中的数据保存在磁盘,重启时可再次加载使用;
不仅支持简单的KV数据,还提供list、set、zset、hash等数据结构的存储;
支持数据备份,master-slave模式。
4.优势
性能极高。读110000次/s,写81000次/s;
数据类型丰富;
所有操作都是原子性,支持对几个操作全并后的原子性执行;
丰富的特性。还迟滞publish/subscribe,通知,key过期等。
5.与其他KV存储的区别
数据结构复杂,支持原子性操作。基于基本数据结构,无需额外抽象;
可以持久化到磁盘。
6.Redis 和 memcache 的区别
()Redis和Memcache都是将数据存放在内存中,都是内存数据库。不过memcache还可用于缓存其他东西,例如图片、视频等等;
()Redis不仅仅支持简单的k/v类型的数据,同时还提供list,set,hash等数据结构的存储;
()虚拟内存--Redis当物理内存用完时,可以将一些很久没用到的value 交换到磁盘;
()过期策略--memcache在set时就指定,例如set key1 ,即永不过期。Redis可以通过例如expire 设定,例如expire name ;
()分布式--设定memcache集群,利用magent做一主多从;redis可以做一主多从。都可以一主一从;
()存储数据安全--memcache挂掉后,数据没了;redis可以定期保存到磁盘(持久化);
()灾难恢复--memcache挂掉后,数据不可恢复; redis数据丢失后可以通过aof恢复;
()Redis支持数据的备份,即master-slave模式的数据备份;
()应用场景不一样:Redis出来作为NoSQL数据库使用外,还能用做消息队列、数据堆栈和数据缓存等;Memcached适合于缓存SQL语句、数据集、用户临时性数据、延迟查询数据和session等。
二、安装配置
1.关闭防火墙
临时关闭防火墙
systemctl stop firewalld
永久防火墙开机自关闭
systemctl disable firewalld
临时打开防火墙
systemctl start firewalld
防火墙开机启动
systemctl enable firewalld
查看防火墙状态
systemctl status firewalld
2.关闭SELinux
临时关闭SELinux
setenforce
临时打开SELinux
setenforce
查看SELinux状态
getenforce
开机关闭SELinux
编辑/etc/selinux/config文件,如下图,将SELINUX的值设置为disabled。下次开机SELinux就不会启动了。
3.下载redis
Redis官网:http://redis.io/download
Redis中文网:http://www.redis.cn/download.html
4.将下载好的压缩包放到/usr/local目录下或者直接下载
# wget http://download.redis.io/releases/redis-4.0.9.tar.gz
# tar xzf redis-4.0..tar.gz
# ln -s redis-4.0. /home/redis
# cd redis
# make
5.编译完成后,进入Src目录
# cd src
# mkdir /usr/redis
# cp redis-server /usr/redis
# cp redis-benchmark /usr/redis
# cp redis-cli /usr/redis
# cp ../redis.conf /usr/redis
# cd /usr/redis
6.启动服务
# /usr/redis/redis-server /usr/redis/redis.conf
建立软连接
# ln -s /usr/redis/redis-server /usr/bin/redis-server
# ln -s /usr/redis/redis-cli /usr/bin/redis-cli
重新启动
# redis-server /usr/redis/redis.conf
启动成功
7.设置守护进程
将redis.conf中daemonize设置为yes,确保守护进程开启。
sed -i 's#daemonize no#daemonize yes#g' /usr/redis/redis.conf
8.设置开机自启动
vim /etc/rc.local
加入
redis-server /usr/redis/redis.conf
三、 文件及配置概述
1./usr/local/redis/bin 目录下的几个文件用途
redis-benchmark : Redis 性能测试工具
redis-check-aof : 检查 aof 日志的工具
redis-check-dump : 检查 rdb 日志的工具
redis-cli : 连接用的客户端
redis-server : Redis 服务进程
2.Redis 的配置项解析
daemonize : 如需要在后台运行 , 把该项的值改为 yes
pdifile : 把 pid 文件放在 /var/run/redis.pid , 可以配置到其他地址
bind : 指定 Redis 只接收来自该 IP 的请求 , 如果不设置 , 那么将处理所有请求 , 在生产环节中最好设置该项
port : 监听端口 , 默认为
timeout : 设置客户端连接时的超时时间 , 单位为秒
loglevel : 等级分为 级 , debug , revbose , notice 和 warning , 生产环境下一般开启 notice
logfile : 配置 log 文件地址 , 默认使用标准输出 , 即打印在命令行终端的端口上
database : 设置数据库的个数 , 默认使用的数据库是
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 将使用的最大物理内存的大小 , 默认为
vm_page_size : 设置虚拟内存页的大小
vm_pages : 设置交换文件的总的page数量
vm_max_thrrads : 设置 vm IO 同时使用的线程数量
四、错误解决办法
1.客户端连接时 , 提示 DENIED Redis is running in protected mode because protected mode is enabled...
将配置文件里的 protected mode改为了 no , 原本是 yes
2.客户端连接时 , 提示 Connection refused...
可能是配置文件里面的 bind 字段设置了入口 IP , 将其注释
linux中pip安装步骤与使用详解
pip类似RedHat里面的yum,安装软件非常方便.本节详细介绍pip的安装.以及使用方法,希望文章对各位了解pip的安装与使用带来帮助. 1.pip下载安装1.1 pip下载 代码如下 复制代码 ...
(转载)linux中设备文件配置程序udev详解
如果你使用Linux比较长时间了,那你就知道,在对待设备文件这块,Linux改变了几次策略.在Linux早期,设备文件仅仅是是一些带有适当的属性集的普通文件,它由mknod命令创建,文件存放在/dev ...
Redis安装配置及使用详解
1. 简介-两个程序通信,除了socket就是文件了,但是通过磁盘效率太低了,之前的RabbitMQ只是实现了消息的传递,现在要是实现数据的共享(一份数据,可供多人查阅),可以通过缓存实现,一个中间商 ...
webpack安装配置使用教程详解
webpack安装配置使用教程详解 www.111cn.net 更新:2015-09-01 编辑:swteen 来源:转载 本文章来为各位详细的介绍一下关于webpack安装配置使用教程吧,这篇文章对 ...
linux上redis安装配置及其防漏洞配置及其攻击方法
Linux上redis安装: 需先在服务器上安装yum(虚拟机可使用挂载的方式安装) 安装配置所需要的环境运行指令: yum -y install gcc 进入解压文件执行make 指令进行编译 执 ...
Linux学习—redis安装配置及远程连接
1.下载安装包并解压 进入文件夹/usr/local cd /usr/local 下载redis安装包: wget http://download.redis.io/releases/redis-.t ...
Linux中redis主从配置
假设要在6380开启redis 1.添加配置文件:复制redis.conf为redis_6380.conf 2.修改配置文件:修改redis_6380.conf中port.pidfile 3.防火墙: ...
Linux中JDK安装配置
安装jdk 1)下载地址:https://www.oracle.com/technetwork/java/javase/downloads/index.html 我选择jdk1.8版本 2)上传至服务 ...
Redis 主从配置和参数详解
安装redis 下载redis wget http://download.redis.io/releases/redis-3.0.7.tar.gz 解压redis tar -xvf redis-.ta ...
随机推荐
iOS在label上加横杠
UILabel * label = [[UILabel alloc]initWithFrame:CGRectMake(20, 50, 200, 50)]; [self.view addSubvi ...
硅谷新闻3--使用Android系统自带的API解析json数据
NewsCenterPagerBean2 bean2 = new NewsCenterPagerBean2(); try { JSONObject object = new JSONObject(js ...
SharePoint对象模型性能考量
转:http://blog.csdn.net/ma_jiang/article/details/6553373 部分常见用例场景都是关于显示和编辑SharePoint列表的--可惜,这也是我们看到很多 ...
mysql 字段注释
create table student3(id int(30) primary key comment 'ID',name varchar(255) comment '姓名',address var ...
iOS 图标、图形尺寸? iPhone、iPad、 iPod touch
链接地址:http://www.zhihu.com/question/20248971 著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处.作者:刘剑链接:http://www.zhi ...
selenium-自动化用例(十一)
思路 将页面操作与用例case分别封装,编写case时就可以用同一个操作方法对应多个case 如下图: PageGUI:存放页面操作方法,每个页面写一个文件,每个文件中写同一个页面不同的操作,例如检索 ...
Python3基础 list index 全列表查找与指定索引范围查找
Python : 3.7.0 OS : Ubuntu 18.04.1 LTS IDE : PyCharm 2018.2.4 Conda ...
WPF Demo16 资源