Redis 在实际开发中起到的作用详解

栏目: 数据库 · 发布时间: 6年前

内容简介:redis是一种支持Key-Value等多种数据结构的存储系统。可用于缓存、事件发布或订阅、高速队列等场景。该数据库使用ANSI C语言编写,支持网络,提供字符串、哈希、列表、队列、集合结构直接存取,基于内存,可持久化。

redis是什么

redis是一种支持Key-Value等多种数据结构的存储系统。可用于缓存、事件发布或订阅、高速队列等场景。该数据库使用ANSI C语言编写,支持网络,提供字符串、哈希、列表、队列、集合结构直接存取,基于内存,可持久化。

Redis 在实际开发中起到的作用详解

支持的语言

Redis 在实际开发中起到的作用详解

redis的应用场景有哪些

1、会话缓存(最常用)

2、消息队列,比如支付

3、活动排行榜或计数

4、发布、订阅消息(消息通知)

5、商品列表、评论列表等

redis数据类型

Redis一共支持五种数据类:string(字符串)、hash(哈希)、list(列表)、set(集合)和zset(sorted set 有序集合)。

1) string(字符串)

它是 redis 最基本的数据类型,一个key对应一个value,需要注意是一个键值最大存储512MB。

Redis 在实际开发中起到的作用详解

(2) hash(哈希)

redis hash是一个键值对的集合, 是一个string类型的field和value的映射表,适合用于存储对象

Redis 在实际开发中起到的作用详解

(3) list(列表)

是redis简单的字符串列表,它按插入顺序排序

Redis 在实际开发中起到的作用详解

(4) set(集合)

是string类型的无序集合,也不可重复

Redis 在实际开发中起到的作用详解

(5) zset(sorted set 有序集合)

是string类型的有序集合,也不可重复

sorted set中的每个元素都需要指定一个分数,根据分数对元素进行升序排序,如果多个元素有相同的分数,则以字典序进行升序排序,sorted set 因此非常适合实现排名

Redis 在实际开发中起到的作用详解

redis服务相关的命令

Redis 在实际开发中起到的作用详解

slect #选择数据库(数据库编号0-15)

quit #退出连接

info #获得服务的信息与统计

monitor #实时监控

config get #获得服务配置

flushdb #删除当前选择的数据库中的key

flushall #删除所有数据库中的key

redis的发布与订阅

redis发布与订阅(pub/sub)是它的一种消息通信模式,一方发送信息,一方接收信息。

下图是三个客户端同时订阅同一个频道

Redis 在实际开发中起到的作用详解

下图是有新信息发送给频道1时,就会将消息发送给订阅它的三个客户端

Redis 在实际开发中起到的作用详解

redis持久化

redis持久有两种方式:Snapshotting(快照),Append-only file(AOF)

Snapshotting(快照)

1、将存储在内存的数据以快照的方式写入二进制文件中,如默认dump.rdb中

2、save 900 1

#900秒内如果超过1个Key被修改,则启动快照保存

3、save 300 10

#300秒内如果超过10个Key被修改,则启动快照保存

4、save 60 10000

#60秒内如果超过10000个Key被修改,则启动快照保存

Append-only file(AOF)

1、使用AOF持久时,服务会将每个收到的写命令通过write函数追加到文件中(appendonly.aof)

2、AOF持久化存储方式参数说明

appendonly yes 

#开启AOF持久化存储方式

appendfsync always 

#收到写命令后就立即写入磁盘,效率最差,效果最好

appendfsync everysec 

#每秒写入磁盘一次,效率与效果居中

appendfsync no 

#完全依赖OS,效率最佳,效果没法保证。


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

编译原理

编译原理

Alfred V. Aho、Monica S.Lam、Ravi Sethi、Jeffrey D. Ullman / 赵建华、郑滔、戴新宇 / 机械工业出版社 / 2008年12月 / 89.00元

本书全面、深入地探讨了编译器设计方面的重要主题,包括词法分析、语法分析、语法制导定义和语法制导翻译、运行时刻环境、目标代码生成、代码优化技术、并行性检测以及过程间分析技术,并在相关章节中给出大量的实例。与上一版相比,本书进行了全面的修订,涵盖了编译器开发方面的最新进展。每章中都提供了大量的系统及参考文献。 本书是编译原理课程方面的经典教材,内容丰富,适合作为高等院校计算机及相关专业本科生及研......一起来看看 《编译原理》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具