1、存储结构
Redis是Remote Dictionary Server(远程字典服务器)的缩写。 Redis支持的键值数据类型如下: 字符串类型 散列类型 列表类型 集合类型 有序集合类型
2、内存存储与持久化
Redis数据库中的所有数据都存储在内存中。由于内存的读写速度远快于硬盘,因此Redis在性能上对比其他基于硬盘存储的数据库有非常明显的优势。 但是数据存储在内存中会出现问题,比如停电时,数据丢失,所以Redis提供了对持久化的支持,也就是可以将内存中的数据异步写入到硬盘中,同时不影响继续提供服务。
3、功能丰富
Redis可以为每一个键设置生存时间(TTL),生存时间到期后键会自动被删除,这一功能陪着出色的性能让Redis可以作为缓存系统来使用。作为缓存系统,Redis还可以限定数据占用的最大内存空间,在数据达到空间限制后可以按照一定的规则自动淘汰不需要的键。 除此之外,Redis的列表类型键可以用来实现队列,并且支持阻塞式读取,可以很容易地实现一个高性能的优先级队列。 Redis还支持“发布、订阅”的消息模式,可以基于此构建聊天室等系统。
4、命令返回值
状态回复:比如向Redis发送SET命令设置某个键的值时,会回复OK 错误回复:当出现命令不存在或命令格式有错误时,Redis会返回错误回复(error reply) 整数回复:Redis没有整数类型,但是却提供了一些用于整数操作的命令,如递增键值的INCR命令会以整数形式返回递增后的键值。 字符串回复:双引号包裹 多行字符串回复:如当请求一个非字符串回复中的每行字符串都以一个序号开头。
5、配置
比如配置端口号,是否开启持久化、日志级别等 配置文件模板:redis.conf 也可以通过CONFIG SET命令在不重新启动Redis的情况下动态修改部分Redis配置。
6、多数据库
Redis默认支持16个数据库,可以通过配置参数databases来修改这一数字。客户端与Redis建立连接后会自动选择0号数据库,不过随时可以通过select命令更换数据库。 这些数据库更像是一个命名空间,而不适宜存储不同应用程序的数据。
7、命令
glob风格通配符规则
SET [KEY][VALUE]设置键 KEYS * 查看键 EXISTS [KEY]判断一个键是否存在 DEL [KEY] 删除键(可以删除多个键) TYPE [KEY] 获取键值的数据类型 GET [KEY] 取值 INCR [KEY] 递增数字
8、实践
Redis的键名,最好的形式是-对象类型:对象ID:对象属性 生成自增ID:对于每一类对象使用名为对象类型的键来存储当前类型对象的数量,每增加一个新对象时都使用INCR命令递增该键的值。 由于每个字符串类型键只能存储一个字符串,而一篇博客文章是由标题、正文、作者与发布时间等多个元素构成的。为了存储这些元素,我们需要使用序列化函数将它们转换成一个字符串。取元素的时候,可以进行反序列化。
|