为什么用nosql,随着web2.0的快速发展,非关系型、分布式数据存储得到了快速的发展,它们不保证关系数据的ACID特性。NoSQL概念在2009年被提了出来。NoSQL最常见的解释是“non-relational”,“Not Only SQL”也被很多人接受。nosql数据库具有非常高的读写性能,尤其是在大数据量下,同样非常优秀,这得益于它的无关系型,数据库的结构简单。像mysql使用query cache,每次表的更新Cache就失效,是一种大粒度的cache.针对web2.0的交互频繁的应用,cache性能不高,而nosql的cache是记录级的。是一种细粒度的cache。所以,nosql在这个层面上来说就要性能高很多了。
nosql其中有Redis,memcache,Mongdb.本文只对redis进行学习笔记的记录。
互联网下的大数据3V+3高。
大数据的3V
1. 海量的Volume
2. 多样的Variety
3. 实时Velocity.
互联网需求的3高
1. 高并发,
2. 高可扩,
3. 高性能。
Redis
Redis是nosql的一种,redis是互联网发展的产物,作为key—value的高效存储系统,为互联网应用提供高效的解决方案。redis提供了基本的数据结构list、set、map,还支持java、c++、.net等众多语言调用。redis存储的数据一般放在内存当中,这样加快了读取速度。
redis是一种非关系型数据存储工具,这区别于传统的关系型数据库(像mysql等),类似于memcache,并且其内部集成了对list(链表)、set(集合)的操作,可以很方便快速的处理数据(像插入、删除list取交集 并集 差集等),这极大的减轻了底层数据库的压力,并且给用户更快的响应速度。
redis与其他 key - value 缓存产品有以下三个特点
l Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用
l Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储
l Redis支持数据的备份,即master-slave模式的数据备份
redis能够做什么
内存存储和持久化:redis支持异步将内存中的数据写到硬盘上,同时不影响继续服务
取最新N个数据的操作,如:可以将最新的10条评论的ID放在Redis的List集合里面
模拟类似于HttpSession这种需要设定过期时间的功能
发布、订阅消息系统
定时器、计数器
下载Redis
https://redis.io/
Redis 怎么玩
数据类型、基本操作和配置
持久化和复制,RDB/AOF
事务的控制
复制
......
Redis 的安装 >>>> 本文只对Linux安装进行分析
从官网上下载redis-3.2.8.tar.gz,版本已最新官网为例,将它放入我们的Linux目录/usr/local
解压>>> :tar -zxvfredis-3.0.4.tar.gz
解压完成后出现文件夹 redis-3.2.8
进入目录:cd redis-3.2.8
在redis-3.2.8目录下执行make命令
如果make完成后继续执行make install
查看Redis安装目录下的src cd /usr/local/redis-3.2.8/src/
目录中包含
redis-benchmark:性能测试工具,可以在自己本机运行,看看自己本机性能如何
redis-check-aof:修复有问题的AOF文件,rdb和aof后面分析
redis-check-dump:修复有问题的dump.rdb文件
redis-cli:客户端,操作入口
redis-sentinel:redis集群使用
redis-server:Redis服务器启动命令
Redis的启动
进入cd /usr/local/redis-3.2.8/src/目录
启动redis >>>> ./redis-service../redis.conf
这样的话不是后台启动,使得自己不能操作控制台,按ctrl+c结束。
修改redis.conf文件将里面的daemonize no 改成 yes,让服务在后台启动
重新启动Redis会发现,启动完之后可以操作控制台。
继续./redis-cli -p 6379 使用客户端登陆redis,就可以操作redis了。
Redis的关闭。
l 单实例关闭:redis-cli shutdown
l 多实例关闭,指定端口关闭:redis-cli -p 6379 shutdown