NoSQL
为什么使用nosql?
- high performance 高并发读写操作;
- huge storage 海量数据的高效率存储与访问
- high scalability & high availability 高扩展性和高可用性
主流产品:mongDB、redis等;
四大分类:
- 1、键值对存储,例如 reids,查询速度快,但数据缺少结构化;
- 2、列存储,例如 Hbase,查找速度快,扩展性强,但功能相对局限;
- 3、文档数据库,例如 mongDB,数据要求不严格,缺少统一的查询语法;
- 4、图形数据库,利用图结构相关算法。
共同特点:
- 易扩展,没有表结构
- 灵活数据模型,无须设计字段
- 大量数据、高性能
- 高可用
redis
- REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统。
- Redis是一个开源的使用C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。
- 它通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Map), 列表(list), 集合(sets) 和 有序集合(sorted sets)等类型。
- 知乎、新浪微博以及github都在使用redis数据库。
Redis优势
- 性能极高 – Redis能读的速度是110000次/s,写的速度是81000次/s 。
- 丰富的数据类型 – Redis支持二进制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 数据类型操作。
- 原子 – Redis的所有操作都是原子性的,意思就是要么成功执行要么失败完全不执行。单个操作是原子性的。多个操作也支持事务,即原子性,通过MULTI和EXEC指令包起来。
安装
1、安装依赖包:yum install gcc-c++
;
2、从官网获取最新版本链接并下载,官网 https://redis.io/download:
1、pip install wget
# 也可以先在win下 先下载下来,然后通过filezilla传输到linux虚拟机中
2、wget http://download.redis.io/releases/redis-4.0.11.tar.gz
3、tar xzf redis-4.0.11.tar.gz
4、cd redis-4.0.11
# 指定安装目录,也可以直接make当前目录
5、make PREFIX=/usr/local/redis install
3、启动服务端:
# 方法1:前端启动
cd /usr/local/redis/bin/
# 需要重新启动会话才能操作客户端
./bin/redis-server
# 方法2:不需要重新开启会话操作客户端
# 进入解压文件目录
cd redis-4.0.11
# 拷贝启动文件至安装目录下
cp redis.conf /usr/local/redis/bin/
cd /usr/local/redis/bin/
vim redis.conf
# 配置启动文件
daemonize yes
# 启动
./bin/redis-server ./bin/redis.conf
# 检测是否启动
ps aux|grep redis
# ps aux|grep redis
root 18787 0.1 0.7 145312 7584 ? Ssl 20:12 0:00 bin/redis-server 127.0.0.1:6379
# 关闭redis
./bin/redis-cli shutdown
4、启动客户端:
./bin/redis-cli