NoSQL简介
NoSQL泛指非关系型数据库,NoSQL数据库的四大分类:
键值(Key-Value)存储数据库:这一类数据库主要会使用到一个哈希表,这个表中有一个特定的键和一个指针指向特定的数据。如Redis。
列存储数据库:通常是用来应对分布式存储的海量数据。键仍然存在,但是它们的特定是指向了多个列,如HBase。
文档类型数据库:该类型的数据库模型是版本化的文档,半结构化的文档以特定的格式存储,比如JSON,文档型数据库可以看作是键值数据库的升级版,允许之间嵌套键值。文档型数据库比键值数据库查询效率更高,如MongoDb。
图形数据库。
非关系型数据库的特点
1、数据模型比较简单
2、需要灵活性更强的IT系统
3、对数据库性能要求较高
4、不需要高度的数据一致性
5、对于给定的Key,比较容易映射复杂值的环境
Redis简介
是以键值形式存储的非关系型数据库。键可以包含:字符串(string),哈希,链表(list),集合(set),有序集合(zset),这些数据集合都支持push/pop、add/remove、及取交集和并集及更丰富的操作,redis支持各种不同的方式排序,为了保证效率,数据都是缓存在内存中,它也可以周期性地把更新的数据写入磁盘或者把修改操作写入追加到文件中。
优点:
对数据高并发读写
对海量数据高效率存储和访问
对数据的可扩展性和高可用性
缺点:
无法做到太复杂的关系数据库模型
Redis的安装
下载Redis的程序包
wget http://labfile.oss.aliyuncs.com/courses/106/redis-2.8.4.tar.gz
解压缩
tar -xzvf redis-2.8.4.tar.gz
进入解压后的redis
cd redis-2.8.4
编译
make
查看重要文件
- 服务端:src/redis-server
- 客户端:src/redis-cli
- 默认配置文件:redis.conf
设置环境变量
为了方便打开Redis,可以将src目录下的redis-server和redis-cli添加进环境变量所属的目录
cp redis-server /usr/local/bin/
cp redis-cli /usr/local/bin/
运行测试
cd redis-2.8.4
make test
Redis的启动
Redis 是一个服务端和客户端配合的程序,和 Mysql 类似,因此要使用 Redis 需要先启动服务端,客户端有多种形式,比如在 Java 中连接 Redis 服务器也是扮演了一个客户端的角色。
启动 Redis-server
redis-server #以初始状态启动redis服务
redis-server 配置文件 #以配置指定的配置启动redis服务
查看Redis文件
通过进程查看redis状态
ps -ef | grep redis
通过端口查看redis状态
netstat -nlt|grep 6379
启动Redis-client
redis-cli
结束Redis-client
在client窗口运行如下命令
quit
结束Redis-server
redis-cli shutdown
Redis的配置文件
vim redis.conf
daemonize no:默认为no,即不是后台启动,改为yes即为后台启动,通过以下命令即可后台启动
sudo service redis-server start
port 6379:此为redis的端口
dir /var/lib/redis:redis的数据文件存放的地方