前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >25-Redis

25-Redis

作者头像
Ywrby
发布2022-10-27 13:15:04
2410
发布2022-10-27 13:15:04
举报
文章被收录于专栏:Ywrby

Redis

Redis是一款高性能的NoSQL系列的非关系型的数据库

关系型数据库一般多指数据之间存在关系,且将数据保存到硬盘上的数据库,例如MySQL等等。非关系型数据库是一个与之相对的概念,数据之间并不存在逻辑上的关系,且将数据存入内存而非硬盘中

Redis数据库将数据以键值对的形式存入内存

数据结构

Redis存储的是键值对形式(KEY,VALUE)的数据,其中KEY始终是字符串,VALUE有五种可存储类型

  • 字符串类型string
  • 哈希类型hash(可嵌套存储键值对)
  • 列表类型list
  • 集合类型set(键不可重复)
  • 有序集合类型sortedset(自动排序)

命令操作

字符串类型

  • set key value:存储数据
  • get key:获取数据
  • del key:删除数据

哈希类型

  • hset key filed value:存储数据
  • hget key filed:获取数据
  • hgetall key:获取全部哈希数据
  • hdel key field:删除指定数据

列表类型

  • lpush key value:从列表左侧插入元素(列表头部)
  • rpush key value:从列表右侧插入元素(列表尾部)
  • lrange key start end:获取范围内的元素
  • lpop key:删除列表左侧首元素并返回值
  • rpop key:删除列表右侧尾元素并返回值

集合类型

  • sadd key value:存储元素(键不可重复)
  • smembers key:获取set集合中所有元素
  • srem key value:删除集合中某个元素

有序集合类型(数据按照score排序)

  • zadd key score value:存储数据
  • zrange key start end:获取指定范围内的元素
  • zren key value:删除指定元素

通用操作

  • keys * :获取所有键名
  • type key:获取对应键所存储的数据种类
  • del key:删除指定数据

Redis的持久化

redis是一个内存数据库,当服务器重启或者电脑重启,都会导致数据库中数据的丢失,此时就需要通过设置redis持久化进行解决。redis有两种持久化方案,分别是RDB与AOF

RDB持久化方式

在一定的时间间隔中,检验key的变化情况,然后持久化数据

是redis默认的持久化方式,不需要进行配置,默认情况下就采用这种持久化方式

要更改相关的配置需要修改配置文件redis.windows.conf中的

代码语言:javascript
复制
################################ SNAPSHOTTING  ################################
#
# Save the DB on disk:
#
#   save <seconds> <changes>
#
#   Will save the DB if both the given number of seconds and the given
#   number of write operations against the DB occurred.
#
#   In the example below the behaviour will be to save:
#   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
#
#   Note: you can disable saving completely by commenting out all "save" lines.
#
#   It is also possible to remove all the previously configured save
#   points by adding a save directive with a single empty string argument
#   like in the following example:
#
#   save ""

save 900 1
save 300 10
save 60 10000

“save 900 1”表示没过900秒有超过1个key被修改就进行持久化操作,同理”save 60 10000”表示没过60秒超过10000个key变化就进行持久化操作

修改文件后不能通过直接打开可执行程序的方式打开服务器端,需要通过命令行启动服务器端才能实现修改(在服务器文件路径下打开CMD窗口输入文件名启动服务器端)

AOF持久化方式

采用直接记录日志的方式,可以在每一次命令操作后持久化数据

使用AOF进行持久化操作的方式是编辑配置文件redis.windows.conf,将appendonly no 修改为appendonly yes(表示开启AOF持久化)

AOF持久化有三种可以选择的持久化方案

代码语言:javascript
复制
appendfsync always  //每次命令操作都进行持久化
appendfsync everysec  //每隔一秒进行一次持久化操作
appendfsync no   //不进行持久化操作
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-03-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Redis
    • 命令操作
      • 字符串类型
      • 哈希类型
      • 列表类型
      • 集合类型
      • 有序集合类型(数据按照score排序)
      • 通用操作
    • Redis的持久化
      • RDB持久化方式
      • AOF持久化方式
相关产品与服务
云数据库 Redis
腾讯云数据库 Redis(TencentDB for Redis)是腾讯云打造的兼容 Redis 协议的缓存和存储服务。丰富的数据结构能帮助您完成不同类型的业务场景开发。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档