Redis简介


概述

Redis是用C语言开发的,开源的高性能非关系型(NOSQL)数据库
属于键值对(key-value)类型数据库

数据类型(数据结构)

redis存储的是:key,value格式的数据,其中key都是字符串,value有5种不同的数据结构

  • 字符串 string
  • 哈希 hash
  • 列表 list
  • 集合 set
  • 有序集合 sorted set

配置

Redis 的配置文件位于 Redis 安装目录下,文件名为 redis.conf(Windows 名为 redis.windows.conf)

优势

性能极高
丰富的数据类型
原子性 – 所有操作都是原子性的,要么成功执行要么失败完全不执行。多个操作也支持事务,即原子性,通过MULTI和EXEC指令包起来
丰富的特性 – Redis还支持 publish/subscribe, 通知, key 过期等等特性

应用场景

  • 缓存(数据查询、短连接、新闻内容、商品内容等等)
  • 聊天室的在线好友列表
  • 任务队列。(秒杀、抢购、12306等等)
  • 应用排行榜
  • 网站访问统计
  • 数据过期处理(可以精确到毫秒)
  • 分布式集群架构中的session分离

操作

del key名称删除key

持久化

原理:当执行某些操作时,redis会将存储的数据写入到文件中。 当下次再次打开redis的时候,它会读取这个文件中的信息

redis是一款内存数据库,当redis服务器重启,或者电脑重启,数据会丢失;可以选择将redis的数据保持在硬盘上的文件中

持久化机制

ROB:默认方式,不需要进行配置,默认就是这种机制。

  • 在一定的间隔事件中,检测key的变化,然后持久化存储。
    after 900 sec (15 min) if at least 1 key changed
    after 300 sec (5 min) if at least 10 keys changed
    after 60 sec if at least 10000 keys changed
    save 900 1
    save 300 10
    save 60 10000

AOF:日志记录的方式。可以记录每一次命令的操作,可以每一次命令操作后, 持久化数据。
appendonly yes
appendfsync always 每一次操作都会持久化。
appendfsync everysec 每隔一秒进行一次持久化。(默认的)
appendfsync no 不进行持久化。

rdb和aof的区别?(面试题)
rdb:自己设置有多少个key发生变化,持久化到硬盘一次。
aof:通过设置,每秒或每一次操作持久化一次。


文章作者: zrh
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 zrh !
  目录