rdb

redis-info命令详解

余生长醉 提交于 2020-07-29 08:53:46
Server 服务器基本信息 # redis版本号 redis_version:5.0.3 # redis源码包git信息 redis_git_sha1:00000000 redis_git_dirty:0 redis_build_id:da69b07a37c06dc8 # 运行模式(“独立”,“哨兵”或“集群”) redis_mode:standalone # 操作系统信息 os:Linux 3.10.0-514.el7.x86_64 x86_64 # 64位架构 arch_bits:64 # 编译运行的底层依赖信息 multiplexing_api:epoll atomicvar_api:atomic-builtin gcc_version:4.8.5 # 进程ID process_id:10040 # 实例运行的随机值标识符(sentinel和集群中有用) run_id:df903681f11f712523e0615cd4c7e45afbf500b6 # 端口 tcp_port:6379 # 运行时长 uptime_in_seconds:42593 # 运行时长(天) uptime_in_days:0 # 服务器的频率设置 hz:10 configured_hz:10 # LRU运作的时钟(分钟为单位) lru_clock:7473903 # 可执行文件 executable

redis

懵懂的女人 提交于 2020-07-29 03:00:34
一、什么是redis Redis 是完全开源免费的,遵守 BSD 协议,是一个高性能的 key-value 数据库。 Redis 支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及 zsetsorted set:有序集合)。 Redis 与其他 key - value 缓存产品有以下三个特点: Redis 支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。 Redis 不仅仅支持简单的 key-value 类型的数据,同时还提供 list,set,zset,hash 等数据结构的存储。 Redis 支持数据的备份,即 master-slave 模式的数据备份。 Redis 优势 性能极高 – Redis 能读的速度是 110000 次/s,写的速度是 81000 次/s 。 丰富的数据类型 – Redis 支持二进制案例的 Strings, Lists, Hashes, Sets 及Ordered Sets 数据类型操作。 原子 – Redis 的所有操作都是原子性的,意思就是要么成功执行要么失败完全不执行。单个操作是原子性的。多个操作也支持事务,即原子性,通过 MULTI 和 EXEC指令包起来。 丰富的特性 – Redis 还支持 publish/subscribe, 通知, key 过期等等特性。 二

Redis入门(7)

我们两清 提交于 2020-07-28 17:56:23
持久化 RDB方式 Redis实现快照的过程 AOF方式 操作系统缓存 RDB与AOF 复制 主从数据库 主从复制的意义 安全 持久化 Redis通过将数据存储在内存中而获得了极快的速度,但为了保证Redis在重启后数据不丢失,需要将数据从内存持久化到硬盘中。 持久化的方式有两种,二者可以只用一种,也可以组合使用: RDB方式 AOF方式 RDB方式 RDB是Redis默认采用的持久化方式,当符合一定条件时Redis会自动将内存中的所有数据进行快照(snapshotting)并存储在硬盘上。进行快照的条件可以由用户在配置文件中自定义,配置由两个参数构成:时间和改动的键的个数。当在指定的时间内被更改的键的个数大于指定的数值时就会进行快照。在配置文件redis.conf中已经预置了3个条件: save 900 1 save 300 10 save 60 10000 这些条件直接是“或”的关系。如果需要禁用自动快照,可以将所有的save配置删除。 除了自动快照,还可以手动发送SAVE或BGSAVE命令让Redis执行快照,SAVE命令是由主进程进行快照操作,会阻塞住其他请求,而BGSAVE命令则会通过fork子进程进行快照操作。 Redis默认会将快照文件存储在当前目录的dump.rdb文件中,可以通过配置dir和dbfilename两个参数分别指定快照文件的存储路径和文件名。

Redis企业级数据备份与恢复方案

半城伤御伤魂 提交于 2020-07-28 17:53:57
01 持久化配置 RBD和AOF建议同时打开(Redis4.0之后支持) RDB做冷备,AOF做数据恢复(数据更可靠) RDB采取默认配置即可,AOF推荐采取everysec每秒策略 02 数据备份方案 1、需求 我们需要定时备份rdb文件来做冷备,为什么?不是有aof和rbd了吗为什么还要单独写定时任务去备份? 因为Redis的aof和rdb是仅仅有一个最新的,比如谁手贱再Redis宕机的时候执行rm -rf aof/rdb了,那不就GG了吗?或者rdb/aof文件损坏了等不可预期的情况。所以我们需要单独备份rdb文件以防万一。 为什么不定时备份aof而是rdb?定时备份aof没意义呀,定时本身就是冷备份,不是实时的,rdb文件又小恢复又快,她哪里不香? 2、方案 写crontab定时调度脚本去做数据备份。 每小时都copy一份redis的rdb文件到一个其他目录中,这个目录里的rdb文件仅仅保留48小时内的。也就是每小时都做备份,保留2天内的rdb,只保留48个rdb。 每天0点0分copy一份redis的rdb文件到一个其他目录中,这个保留一个月的。也就是按天备份。 每天半夜找个时间将当前服务上的所有rdb备份都上传到云服务上。 3、实现 3.1、按小时 每小时copy一次备份,删除48小时前的数据。 crontab -e # 每小时都执行/usr/local/redis

Redis持久化之RDB

孤街醉人 提交于 2020-07-28 11:07:06
一、RDB是什么 Redis一旦断电或者宕机,那么内存数据库中的数据将会全部丢失。   为了解决这个缺点,Redis提供了将内存数据持久化到硬盘,以及用持久化文件来恢复数据库数据的功能。Redis 支持两种形式的持久化,一种是RDB快照(snapshotting),另外一种是AOF。 二、RDB自动配置 在 redis.conf 配置文件中的 SNAPSHOTTING 下,有默认如下的配置。 这里是用来配置触发 Redis的持久化条件,也就是什么时候将内存中的数据保存到硬盘。如果不想使用Redis缓存持久化,那么配置为 save "" #表示900 秒内如果至少有 1 个 key 的值变化,则保存 save 900 1 #表示300 秒内如果至少有 10 个 key 的值变化,则保存 save 300 10 #表示60 秒内如果至少有 10000 个 key 的值变化,则保存 save 60 10000 三、RDB手动配置 在Redis的客户端中执行bgsave命令。(save命令会阻塞整个Redis服务器,一般不用) 此时会生成一个叫做dump.rdb的文件在客户端的目录下。RDB持久化会把内存中的缓存数据持久化到磁盘上,下次启动的时候,Redis会读取这个dump.rdb文件,达到恢复内存的目的。 四、优缺点 (1)RDB的速度相对AOF持久化速度快一点。 (2

redis常用命令大全

回眸只為那壹抹淺笑 提交于 2020-07-28 08:27:52
1.基于内存的key-value数据库 2.基于c语言编写的,可以支持多种语言的api //set每秒11万次,取get 81000次 3.支持数据持久化 4.value可以是string,hash, list, set, sorted set 使用场景 1. 去最新n个数据的操作 2. 排行榜,取top n个数据 //最佳人气前10条 3. 精确的设置过期时间 4. 计数器 5. 实时系统, 反垃圾系统 6. pub, sub发布订阅构建实时消息系统 7. 构建消息队列 8. 缓存 cmd访问redis redis-cli.exe -h 127.0.0.1 -p 6379 key keys * 获取所有的key select 0 选择第一个库 move myString 1 将当前的数据库key移动到某个数据库,目标库有,则不能移动 flush db 清除指定库 randomkey 随机key type key 类型 set key1 value1 设置key get key1 获取key mset key1 value1 key2 value2 key3 value3 mget key1 key2 key3 del key1 删除key exists key 判断是否存在key expire key 10 10过期 pexpire key 1000 毫秒 persist key

C#服务器连接Redis

别等时光非礼了梦想. 提交于 2020-07-27 23:10:59
之前写过一些C#服务器方面的文章 C#游戏服务器遇到问题C#游戏服务器遇到问题 长连接消息分发底层原理图(C#服务器) 本次讲解C#服务器中加入redis,redis下载地址 https://github.com/dmajkic/redis/downloads 左面左下角,输入cmd,调出命令提示行,然后cd到 redis安装目录,然后如下图启动服务器 上面测试 在windows上redis可以正常的进行rdb备份,下面就讲讲如何在C#服务器项目中如何操作redis,比较简单 两步: 1 引包 2 代码操作 public static ServiceStack.Redis.RedisClient client = new ServiceStack.Redis.RedisClient("127.0.0.1", 6379); public void do() { //读取 string name = client.Get<string>("name"); string pwd = client.Get<string>("password"); //存储 client.Set<string>("name1", username.Value); client.Set<string>("password1", userpwd.Value); } 备注: 为了使用方便

Redis的面试问题总结,面试跳槽必备

[亡魂溺海] 提交于 2020-07-27 22:34:58
1.什么是redis? Redis 是一个基于内存的高性能key-value数据库。 2.Reids的特点  Redis本质上是一个Key-Value类型的内存数据库,很像memcached,整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据flush到硬盘上进行保存。因为是纯内存操作,Redis的性能非常出色,每秒可以处理超过 10万次读写操作,是已知性能最快的Key-Value DB。 Redis的出色之处不仅仅是性能,Redis最大的魅力是支持保存多种数据结构,此外单个value的最大限制是1GB,不像 memcached只能保存1MB的数据,因此Redis可以用来实现很多有用的功能,比方说用他的List来做FIFO双向链表,实现一个轻量级的高性 能消息队列服务,用他的Set可以做高性能的tag系统等等。另外Redis也可以对存入的Key-Value设置expire时间,因此也可以被当作一 个功能加强版的memcached来用。 Redis的主要缺点是数据库容量受到物理内存的限制,不能用作海量数据的高性能读写,因此Redis适合的场景主要局限在较小数据量的高性能操作和运算上。 3.使用redis有哪些好处?   (1) 速度快,因为数据存在内存中,类似于HashMap,HashMap的优势就是查找和操作的时间复杂度都是O(1) (2) 支持丰富数据类型

redis6.0源码阅读 主从模式之数据同步

社会主义新天地 提交于 2020-07-27 16:05:11
redis6.0源码阅读 主从模式之数据同步 给新观众老爷的开场 主从模式-数据同步的原因 1. 数据热备份 2. 读写分离 3. 从节点需要与主节点同步数据 主从模式-数据同步的场景 从节点数据与主节点数据不一致 1. 给主节点新加入从节点 - 全量同步 2. 从节点与主节点数据同步中断 主从模式-数据同步的思路 全量同步 部分重传 主从模式-数据同步的实现 同步流程 redis6.0 的 rdb文件内容 小结 下集预告 往期博客回顾 给新观众老爷的开场 大家好,我是弟弟! 最近读了一遍 黄健宏大佬的 <<Redis 设计与实现>> ,对Redis 3.0版本有了一些认识 该书作者有一版添加了注释的 redis 3.0源码 👉官方redis的github传送门 。 👉黄健宏大佬添加了注释的 redis 3.0源码传送门 👉antirez的博客 网上说Redis代码写得很好,为了加深印象和学习redis大佬的代码写作艺术,了解工作中使用的redis 命令背后的源码逻辑,便有了写博客记录学习redis源码过程的想法。 今天斗胆打开了redis 6.0的代码开始阅读理解。 redis6.0相对于redis3.0增加了不少的功能。 本篇博客的描述方式 以主从模式的数据同步为主线 ,其中 涉及其他的东西为支线 。 主从模式-数据同步的原因 1. 数据热备份 从节点热备份主节点的数据,在哨兵

Redis系列(七)Redis面试题

半世苍凉 提交于 2020-07-27 10:47:36
Redis 系列: Redis系列(一)Redis入门 Redis系列(二)Redis的8种数据类型 Redis系列(三)Redis的事务和Spring Boot整合 Redis系列(四)Redis配置文件和持久化 Redis系列(五)发布订阅模式、主从复制和哨兵模式 Redis系列(六)Redis 的缓存穿透、缓存击穿和缓存雪崩 Redis系列(七)Redis面试题 Redis命令参考 1、什么是 Redis?有什么特点? Redis 是一款开源,高性能的 key-value 的非关系型数据库。 特点 : 1)支持持久化,可以将内存中的数据持久化到磁盘,重启可以再次从磁盘中加载使用; 2)支持多种数据结构; 3)支持数据的备份:主从模式的备份; 4)高性能,读速度达 11 万次/秒,写速度达到 8.1 万次/秒 5)支持事务。 2、 说说 Redis 的数据类型 一共 8 种 5 种基本数据类型:String、Hash、List、Set、Zset 3 种特殊类型:geospatial、hyperloglog、bitmap 3、Redis 和 Memcache 的区别? 1)Memcache 数据都存储在内存中,断电即失,数据不能超过内存大小;而 Redis 的数据可以持久化到硬盘。 2) Memcache 只支持简单的字符串,Redis 有丰富的数据结构; 3)底层实现方式不一样