redis基础

1.redis特性

redis特性
	基于内存
	数据持久化(快照,AOF)
	主从复制
	集群
	支持更多的数据类型
	支持消息订阅
redis单线程,只能使用1个cpu使用,每秒能承受50万并发

2.redis安装

yum install epel-release -y
yum install redis -y
systemctl start redis 
systemctl enable redis 

3.redis数据类型

redis数据类型
	字符串
		set ip 1.1.1.1 			//设置键ip的值是1.1.1.1
		get ip 					//获取键ip的值
	列表
	集合
	有序集合
	哈希

4.redis认证实现

#vim /etc/redis.conf 
requirepass PASSWORD 
#redis-cli 
auth PASSWORD 

5.redis清空数据库

	flushdb:清空当前库
	flushall:清空所有库

6.redis事务

	通过multi,exec,watch等命令实现事务功能;将一个或多个命令归为一个操作提请服务器按顺序执行的机制;不支持回滚操作
	multi :启动一个事务
	exec :执行事务,一次性将事务中的所有操作执行完成后返回客户端;命令先放在队列中,通过exec一次性提交和执行所有命令
	watch:乐观锁,在exec命令执行之前,用于监视指定数量键;如果监视中的某任意键数据被修改,则服务器拒绝执行事务;
127.0.0.1:6379> multi 
OK
127.0.0.1:6379> set ip 192.168.1.1
QUEUED
127.0.0.1:6379> get ip
QUEUED
127.0.0.1:6379> set port 8080
QUEUED
127.0.0.1:6379> get port
QUEUED
127.0.0.1:6379> exec

7.redis命令

	client list								//获取客户端连接信息
	client kill ip:port 					//杀死客户端连接
	info 									//查看服务器状态信息,使用的CPU,内存等信息	client kill  127.0.0.1:57366
	config resetstat 						//重置info状态信息
	config set parameter value				//设置配置文件的参数和值到内存中,临时生效	config set requirepass redhat 添加认证
	config rewrite 							//保存修改的配置文件参数和值到硬盘中,永久生效
	dbsize									//查看数据库的所有键数量
	save									//同步,内存数据保存到硬盘中,在主线程中保存快照,此时会阻塞所有客户端请求
	bgsave									//异步,内存数据保存到硬盘中
	keys *									//获取所有的键

8.redis 发布与订阅(publish/subscribe),消息队列

	publish:生产者,指明向频道发布消息;
	subscribe :消费者,订阅一个或多个队列
	unsubscribe :退订此前订阅的频道	
127.0.0.1:6379> subscribe news				//订阅news频道
127.0.0.1:6379> publish news hello			//向news这个频道发送hello消息

9.redis持久化:内存数据保存到硬盘中,两种方式RDB和AOF

RDB:snapshot,快照,二进制格式;按照事先定制的策略,周期性将数据保存至磁盘;数据文件默认为dump.rdb;客户端也可以使用save或bgsave命令启动快照保存机制
AOF:Append Only file 记录每一次写操作至指定的文件尾部实现持久化;当redis重启时,可通过重新执行文件中的命令在内存重建数据库

RDB配置文件

save 900 1									//900秒有1个key变化就保存到磁盘中
save 300 10
save 60 10000
stop-writes-on-bgsave-error yes
rdbcompression yes
rdbchecksum yes
dbfilename "dump.rdb"
dir "/var/lib/redis"
关闭RDB:save ""

AOF在配置文件相关参数

appendonly no								//开启aof功能,no为不开启
appendfilename "appendonly.aof"				//AOF文件名
appendfsync everysec						//每一秒写一次
no-appendfsync-on-rewrite no				//重写是否调用rsync
auto-aof-rewrite-percentage 100				//当前上次重写两被,触发一次重写操作
auto-aof-rewrite-min-size 64mb				//触发重写最小值
aof-load-truncated yes						//
posted @ 2018-05-27 21:47  你很棒  阅读(117)  评论(0编辑  收藏  举报