一 什么Redis
Redis [Remote Dictionary Server],一种非关系型数据库.属于No-Sql 数据库的一种实现. 由于其是 运行在 内存 中的,所以 读写数据会非常的快. 常用做 高访问 数据库.
二 在Liunx 环境下使用
启动服务: redis-server (在不指定配置文件等情况下,会使用默认配置文件,默认端口号为6380)
指定配置文件 redis-server 配置文件路径(例如: /redis/conf/redis-6379.conf )
指定端口号 redis-server --port 6379
启动服务: redis-cli -h -p
-h [host] 主机地址
-p [port] 端口号
redis conf 文件详解(待补充)
三 redis 数据类型
3.1 String类型 -- 简单 的 key-value
3.2 hash类型
key hash( filed value) : hash类型分为两个部分,一个键 对应一个hash, hash里面 又有 两个值, 分别为 filed 和value . 通过hash存储, 我们想要拿到 value 的话,我们 需要用 key+filed 的格式,才能拿到值 .
3.3 list 类型
key list : 这个list底层结构是个双向链表, 一个键对应了一串值,值都放在list里面
3.4 set 类型
set 的格式和hash 很像, 它放弃了value 的存储位置,将真实的value 放在了 hash类型的 filed 位置 .
四 redis持久化技术
4.1 RDB (类似快照,直接保存值)
RDB优点:
RDB是一个紧凑压缩的二进制文件,存储效率较高
RDB内部存储的是redis在某个时间点的数据快照,非常适合用于数据备份,全量复制等场景
RDB恢复数据的速度要比AOF快很多
应用:服务器中每X小时执行bgsave备份,并将RDB文件拷贝到远程机器中,用于灾难恢复。
RDB缺点
RDB方式无论是执行指令还是利用配置,无法做到实时持久化,具有较大的可能性丢失数据
bgsave指令每次运行要执行fork操作创建子进程,要牺牲掉一些性能
Redis的众多版本中未进行RDB文件格式的版本统一,有可能出现各版本服务之间数据格式无法兼容现象
4.2 AOF (保存修改数据的操作)
原文:https://www.cnblogs.com/mtyJavaRecord/p/14855740.html