尚学堂给同学们带来全新的Java300集课程啦!java零基础小白自学Java必备优质教程_手把手图解学习Java,让学习成为一种享受_哔哩哔哩_bilibili
Redis是一个开源,高级的键值存储和一个适用的解决方案,用于构建高性能,可扩展的Web应用程序。本文将概要介绍Redis的特性和语法,并以实例代码的形式介绍如何通过Jedis在java语言环境下控制Redis,帮助各位读者快速入门。
NoSQL概述
Redis是NoSQL数据库的代表之一,那什么是NoSQL?
NoSQL = not only SQL,即非关系型数据库。
Why NoSQL?
和传统的关系型数据库相比,NoSQL具有以下的优势:
- High Performance:高并发读写;
- Huge Storage: 海量数据的高效存储和访问;
- High Scalability & High Availability:高可扩展和高可用性
NoSQL的分类:
- Key-Value,如Redis,快速查询,但是数据存储缺少结构化;
- 列存储,如HBase, 扩展性强,查找速度快,但是功能局限;
- 文档数据库,如MongoDB,数据格式灵活,查询性能不高,缺少统一的查询语法;
- 图形数据库,如InfoGrid,基于图的算法,但是不容易做分布式的查询;
Redis概述
Redis是一个开源,高性能的键值对数据库, 其优点包括:
- 异常快 :Redis非常快,每秒可执行大约110000次的设置(SET)操作,每秒大约可执行81000次的读取/获取(GET)操作。
- 支持丰富的数据类型 :Redis支持开发人员常用的大多数数据类型,例如列表,集合,排序集和散列等等。这使得Redis很容易被用来解决各种问题,因为我们知道哪些问题可以更好使用地哪些数据类型来处理解决。
- 操作具有原子性 : 所有Redis操作都是原子操作,这确保如果两个客户端并发访问,Redis服务器能接收更新的值。
- 多实用工具 : Redis是一个多实用工具,可用于多种用例,如:
- 缓存;
- 任务队列;
- 网站统计;
- 数据过期处理;
- 应用排行榜;
- 分布式集群的Session分离;
Redis与其他键值存储系统
-
Redis是键值数据库系统的不同进化路线,它的值可以包含更复杂的数据类型,可在这些数据类型上定义原子操作。
-
Redis是一个内存数据库,但在磁盘数据库上是持久的,因此它代表了一个不同的权衡,在这种情况下,在不能大于存储器(内存)的数据集的限制下实现非常高的写和读速度。
-
内存数据库的另一个优点是,它与磁盘上的相同数据结构相比,复杂数据结构在内存中存储表示更容易操作。 因此,Redis可以做很少的内部复杂性。
Redis的安装和使用
Redis的安装是否简单,在Ubuntu上安装Redis,打开终端并键入以下命令即可
sudo apt-get update
sudo apt-get install redis-server