Redis(一):Redis基本概念以及安装
简介
Redis是一个开源,高级的键值存储和基于内存的单进程单线程模型,用于构建高性能,可扩展的Web应用程序。
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服务器能接收更新的值。
- 持久化:Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
- 多实用工具 : Redis是一个多实用工具,可用于多种用例,如:
- 缓存:将数据以字符串方式存储
- 任务队列;
- 数据过期处理;
- 分布式集群的Session分离;
- 令牌(Token)生成
- 短信验证码
- 发布订阅
- 分布式锁
- 计数器功能:比如视频播放次数,点赞次数以及应用排行榜。
Redis与其他键值存储系统
-
Redis是键值数据库系统的不同进化路线,它的值可以包含更复杂的数据类型,可在这些数据类型上定义原子操作。
-
Redis是一个内存数据库,但在磁盘数据库上是持久的,因此它代表了一个不同的权衡,在这种情况下,在不能大于存储器(内存)的数据集的限制下实现非常高的写和读速度。
-
内存数据库的另一个优点是,它与磁盘上的相同数据结构相比,复杂数据结构在内存中存储表示更容易操作。 因此,Redis可以做很少的内部复杂性。
Linux环境下安装Redis
1.下载Redis安装包
wget http://download.redis.io/releases/redis-3.2.9.tar.gz
2.解压Redis安装包
tar -zxvf redis-3.2.9.tar.gz
3.安装Redis
cd redis-3.2.9 make cd src make install PREFIX=/usr/local/redis
4.移动配置文件到安装目录下
cd ../ mkdir /usr/local/redis/etc mv redis.conf /usr/local/redis/etc
5.配置redis为后台启动
vi /usr/local/redis/etc/redis.conf //将daemonize no 改成daemonize yes vi /usr/local/redis/etc/redis.conf // requirepass 123
vi /usr/local/redis/etc/redis.conf // 注释 #bind 127.0.0.1 开启外网访问
6.开启redis
/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf
7.连接Redis客户端
./redis-cli -h 127.0.0.1 -p 6379 -a "123456"