Redis基础

特性:
基于key-value键值对的持久化数据库存储系统
支持多种数据结构,包括string(字符串)、list(链表)、set(集合)、zset(sorted set-有序集合)和hash(哈希)
支持的操作都是原子性的,多个操作也可通过事务达到原子性
支持数据的持久化,可以将内存数据保存到硬盘上,重启时可以再次加载进行使用
支持数据的备份,即master-slave模式的数据备份

启动命令:
服务: ./redis-server redis.conf
客户端:./redis-cli -h host -p port -a password

配置(redis.conf):
bind 127.0.0.1 绑定的主机地址
port 6379 默认的监听端口
timeout 0 客户端闲置多长时间后关闭连接(秒),0代表关闭该功能
daemonize no redis是否已守护进程运行,默认不是
pidfile /var/run/redis.pid  作为守护进程时,将pid写入该文件
loglevel 日志级别(debug、verbose、notice、warning)
logfile 日志记录文件,默认为控制台,当为守护进程时,日志记录到/dev/null
databases 16 设置数据库的数量,使用select x来切换数据库
save <seconds> <changes> 指定在多长时间内,有多少次更新操作,就将数据同步到数据文件
rdbcompression yes 存储至本地数据库时是否压缩
dbfilename dump.rdb 指定本地数据库文件名
dir ./ 指定本地数据库存放目录
slaveof <masterip> <masterport> 本机为slave时,设置master的ip和port,当slave启动时自动从master同步数据
masterauth <master-password> 当master设置了密码保护时,slave连接master的密码
requirepass 123 设置连接密码
maxclients 同一时间客户端最大连接数
maxmemory <bytes> 最大内存限制
maxmemory-policy 内存数据淘汰策略(volatile-lru、allkeys-lru、volatile-lfu、allkeys-lfu、volatile-random、allkeys-random、volatile-ttl、noeviction)
appendonly no 指定是否在每次更新操作后进行日志记录
appendfilename "appendonly.aof" 日志文件
appendsync everysec 更新日志条件(no-等OS同步数据,everysec-每秒钟同步一次,always-每次更新操作后都同步)
include /path/local.conf 指定自定义的配置

数据类型:
string: 最基本的类型,二进制安全的,可以存放任何数据,如jpg图片或者序列化的对象。 一个键最大存储512MB
hash: hash是一个string类型的field和value的映射表,适合存储对象。
list: 简单的字符串列表,按插入顺序排序,可以在列表头部或尾部添加或删除元素。
set: string类型的无序集合,元素不重复,通过哈希表实现
zset: string类型的有序集合,每个元素关联一个double类型的分数,按分数由小到大排列,元素不重复,但分数可以重复。

Redis使用场景:
(1)会话缓存
(2)队列
(3)排行榜/计数器
(4)发布/订阅

Redis常见性能问题和解决方案:
(1)Redis写内存快照,save命令调度rdbSave函数,会阻塞主线程的工作,当快照比较大时对性能影响大,会间断性暂停服务,所以master最好不要写内存快照。
(2)master AOF持久化,如果不重写AOF文件,对性能影响最小,但是AOF文件会越来越大,会影响master重启的恢复速度。建议某个slave开启AOF备份数据,策略为每秒同步一次。
(3)Redis主从复制的性能问题,为了主从复制的速度和连接的稳定性,建议在同一局域网内。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值