Redis初识与配置

mac2025-09-29  7

最近在了解Nosql的具体实现,redis作为KV数据库的重要成员,怎么能遗忘他呢。本篇文章对其特性做一些介绍,以后有时间对其底层做详细分析。

Redis简介

Redis是一个存储key-value对的内存型数据库,也就是说对其的基本增删改查等操作都是对内存中的数据进行(当然其也有持久化策略),由于这个原因,其读写性能相对于mysql等关系型数据库有很大的提升。其特点如下:

Key-Value型数据库。Redis首先是一个K-V型Nosql数据库,将数据都是以键值对的形式存储在数据库中。Redis将数据首先存储在内存中,根据持久化策略(AOF、RDB)将内存数据持久化到磁盘上,重启数据库server的时候再把磁盘上的文件加载到内存中。Redis有五种类型的对象:字符串对象,列表对象,哈希对象,集合对象,有序集合对象。丰富的对象可以提供存储数据格式时的更多选择。Redis有丰富的特性,如:master-slave架构,原子性命令,发布订阅功能,Lua脚本操作等。

Redis配置文件

// 允许客户端访问的ip bind 127.0.0.1 // 保护模式默认开启 protected-mode yes // 监听端口 port 6379 // 连接队列大小 tcp-backlog 511 // 客户端空闲多少秒后关闭连接,0表示不关闭 timeout 0 // 相当于SO_keepalive保证客户端存活 tcp-keepalive 0 //是否以守护进程的方式开启redis服务器进程 daemonize no //是否通过systemed管理进程 supervised no //pid文件路径,启动时候创建,退出时候删除 pidfile /var/run/redis.pid //日志级别 loglevel notice //日志名称,空字符串表示输出到标准输出 logfile "" //数据库的数量,SELECT命令切换 databases 16 //持久化设置 //满足如下条件则将内存数据的快照持久化到磁盘中。注意一下三个条件是”或“的关系 //距离上次快照超过900s,并且有1个以上KV更新 //距离上次快照超过300s,并且有10个以上KV更新 //距离上次快照超过60s,并且有60个以上KV更新 save 900 1 save 300 10 save 60 10000 //开启持久化策略后,如果一次持久化失败,则停止写操作 stop-writes-on-bgsave-error yes //备份rdb文件时候,是否用LZF压缩字符串 rdbcompression yes //rdb是否要校验和 rdbchecksum yes //rdb文件名称 dbfilename dump.rdb //rdb文件路径 dir ./ //主从设置 //slave与master同步时候的处理数据策略 slave-serve-stale-data yes //slave是否只读 slave-read-only yes //同步策略(磁盘或者io) repl-diskless-sync no //同步延迟事件 repl-diskless-sync-delay 5 //master-slave之间禁用Nagle算法 repl-disable-tcp-nodelay no //slave的优先级 slave-priority 100 //AOF策略设置 //默认不开启 appendonly no appendfilename "appendonly.aof" appendfsync everysec no-appendfsync-on-rewrite no auto-aof-rewrite-percentage 100 auto-aof-rewrite-min-size 64mb aof-load-truncated yes //慢查询日志,记录超过查询时间阈值的查询语句 slowlog-log-slower-than 10000 //记录大小 slowlog-max-len 128 latency-monitor-threshold 0 //数据库监控通知 notify-keyspace-events "" //数据结构配置 hash-max-ziplist-entries 512 hash-max-ziplist-value 64 list-max-ziplist-size -2 list-compress-depth 0 set-max-intset-entries 512 zset-max-ziplist-entries 128 zset-max-ziplist-value 64 ,,,

参考:

redis命令文档redis简介redis配置
最新回复(0)