原创于我的博客,地址为http://irfen.me
一、简介
Redis是一个开源的高性能键值对数据库。他通过提供多种键值数据类型来适应不同场景下的存储需求,并借助许多高层级的接口使其可以胜任如缓存、队列系统等不同的角色。
国内如新浪微博、知乎,国外如Github、Stack Overflow、Flickr、暴雪和Instagram,都是Redis的用户。
二、Redis的存储结构
Redis是REmote DIctionary Server(远程字典服务器)的缩写,他以字典结构存储数据,并允许其他应用通过TCP协议读写字典中的内容。
到目前为止,Redis支持的键值数据类型如下:
- 字符串类型
- 散列类型
- 列表类型
- 集合类型
- 有序集合类型
这种字典形式的存储结构与常见的MySQL等关系数据库的二维表形式的存储结构有很大的差异。
三、Redis的存储
Redis数据库中所有的数据都存储在内存中。由于内存的读写速度远快于硬盘,因此Redis在性能上对比其他基于硬盘存储的数据库有明显的优势,在一台普通PC上,Redis可以在一秒内读写超过十万个键值。
将数据存储在内存中也有问题,例如程序退出后内存中的数据会丢失。不过Redis提供了对持久化的支持,即将内存中的数据异步写入到硬盘中,同事不影响继续提供服务。
四、功能丰富
Redis虽然是作为数据库开发,但是由于其提供了丰富的功能,很多人也将其用作缓存、队列系统等。
Redis可以为每个键值设置存活时间(Time To Live, TTL),到期后会自动被删除。
作为缓存系统,Redis还可以限定数据占用的最大内存空间,在数据达到空间限制后可以按照一定的规则删除不需要的键。
五、简单稳定
Redis只管的存储结构使得通过程序与Redis交互十分简单。在Redis中使用命令来读写数据,命令语句之于Redis就相当于sql语言的关系数据库。例如获取posts表中id为1的记录title字段值,用Redis的命令就是:
HGET posts:1 title
其中,HGET就是命令。Redis提供了一百多个命令,听起来很多,常用的就十几个,而且很容易记。
Redis是开源的,良好的开发分为和严谨的版本发布机制使得Redis的稳定版本非常可靠。
顺便说一句,Redis约定次版本号(即第一个小数点后的数字)为偶数的版本是稳定版,为奇数的是非稳定版。
原创于我的博客,地址为http://irfen.me
相关推荐
二、 redis学习笔记之数据类型 3 三、 redis学习笔记之排序 11 四、 redis学习笔记之事务 16 五、 redis学习笔记之pipeline 20 六、 redis学习笔记之发布订阅 23 七、 redis学习笔记之持久化 28 八、 redis学习笔记...
redis学习笔记redis 是一个开源的 key-value 数据库。它又经常被认为是一个数据结构服务器。 因为它的 value 不仅包括基本的 string 类型还有 list,set ,sorted set 和 hash 类型。当 然这些类型的元素也都是 string...
本文是一篇关于Redis全套学习笔记的文章,主要介绍了Redis的基础知识、数据结构、持久化、集群、高可用、性能优化等方面的内容。通过本文的学习,读者可以全面掌握Redis的使用和应用,提高自己的技术水平和实践能力...
Redis作为一款高性能的键值存储数据库,支持多种数据类型,包括String、List、Set、ZSet和Hash,并且提供了数据持久化的机制,包括快照(Snapshot)和AOF(Append Only File)两种方式。在Java操作方面,可以利用...
### 超详细的Redis学习笔记知识点汇总 #### 1. Redis 的启动与停止 ##### 1.1 直接启动 Redis 服务 - **默认端口启动**:使用 `$ redis-server` 命令,默认监听端口为 `6379`。 - **指定端口启动**:使用 `$ ...
这个“redis学习笔记.zip”压缩包很可能是包含了关于Redis的学习资料,可能包括概念解释、操作教程、实践案例等内容,适合初学者和有一定基础的学习者参考。 Redis的学习可以分为以下几个主要部分: 1. **基础知识...
Redis学习笔记
Redis学习笔记 Redis是基于键值对存储的NoSQL数据库,可以用来存储和检索数据。下面是Redis的基础知识点: 基础命令 * set key value:保存一个数据,重复set相同的key只会保存最新的value * get key:获取一个...
### Redis 学习笔记知识点概览 #### 一、Redis 概述与应用场景 ##### 1.1 NoSQL 数据库简介 - **定义**: NoSQL(Not Only SQL)泛指非关系型数据库,它们通常不使用传统的表格关系来存储数据。 - **特性**: NoSQL ...
Redis学习笔记 Redis是一个开源的基于键值对(Key-Value)NoSQL数据库,使用ANSI C语言编写、支持网络、基于内存但支持持久化。性能优秀,并提供多种语言的API。Redis可以被称为KV数据库,键值对数据库,内部存储...
redis学习笔记整理 一、 redis 环境搭建 2 二、 redis学习笔记之数据类型 3 三、 redis学习笔记之排序 11 四、 redis学习笔记之事务 16 五、 redis学习笔记之pipeline 20 六、 redis学习笔记之发布订阅 23 七...
Redis 是一款高性能的键值数据库,它以非关系型、内存存储的方式提供快速的数据访问。Redis 的设计目标是为了处理高并发、高扩展性场景,以及大数据存储问题。它支持多种数据结构,包括字符串(String)、链表(List)、...
在本“Redis学习笔记-包括周阳和狂神说”中,我们将深入探讨Redis的核心概念、功能特性以及实际应用。 1. Redis基本概念 - 键值对:Redis的核心数据结构,键是唯一的标识,值可以是多种类型,如字符串、哈希、列表...
Redis全套学习笔记 Redis是一种基于内存的NoSQL数据库,具有高性能、可扩展性和灵活性等特点。以下是Redis的详细知识点: 安装和启动 * 安装Redis可以通过下载软件包或使用yum、apt-get等安装工具进行安装。 * ...
Redis全套学习笔记 完整版pdf.rar set:添加键值对 get:获取值 apend:追价值 strlen:获取值的长度 setnx:key不存在时,设置key的值 incr:原子递增1 decr:原子递减1 incrby/decrby:递增或者递减指定的数字 ...
Redis是一种开源的高性能键值存储数据库,它遵循BSD协议,使用ANSI C编写,并且由于其基于内存的存储机制,支持高性能的读写操作。Redis不仅支持基本的键值对存储,还支持多种数据结构,包括字符串(strings)、散列...
在本次学习笔记中,主要介绍了String类型的命令。String是最基本的类型,可以存储任何形式的数据,如二进制数据、数字或字符串。在String类型中,可以使用set命令设置值,使用get命令获取值,append命令用于追加字符...