包括7个方面:入门简介,可存储数据类型,配置文件解读,持久化机制,事务,复制,java操作客户端
一、reidis入门
问题:MySQL数据库也经常存储一些大文本字段,导致数据库表非常的大,在做数据库恢复的时候就导致非常的慢,不容易快速恢复数据库。比如1000万4KB大小的文本就接近40GB的大小,如果能把这些数据从MySQL省去,MySQL将变得非常的小。关系数据库很强大,但是它并不能很好的应付所有的应用场景。MySQL的扩展性差(需要复杂的技术来实现),大数据下IO压力大,表结构更改困难。
为什么使用NoSQL ?
今天我们可以通过第三方平台(如:Google,Facebook等)可以很容易的访问和抓取数据。用户的个人信息,社交网络,地理位置,用户生成的数据和用户操作日志已经成倍的增加。我们如果要对这些用户数据进行挖掘,那SQL数据库已经不适合这些应用了, NoSQL数据库的发展也却能很好的处理这些大的数据。
NoSQL(NoSQL = Not Only SQL ),意即“不仅仅是SQL”,
泛指非关系型的数据库。随着互联网web2.0网站的兴起,传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从心,暴露了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展。NoSQL数据库的产生就是为了解决大规模数据集合多重数据种类带来的挑战,尤其是大数据应用难题,包括超大规模数据的存储。
典型的nosql数据库库包括:redis,mongodb,hbase等。
与传统sql数据库比较:
RDBMS
– 高度组织化结构化数据
– 结构化查询语言(SQL)
– 数据和关系都存储在单独的表中。
– 数据操纵语言,数据定义语言
– 严格的一致性
– 基础事务
NoSQL
– 代表着不仅仅是SQL
– 没有声明性查询语言
– 没有预定义的模式
– 键值对存储,列存储,文档存储,图形数据库
– 最终一致性,而非ACID属性
– 非结构化和不可预知的数据
– CAP定理(一致性,可用性,分区容错性)
– 高性能,高可用性和可伸缩性
redis是一个c语言编写的分布式基于内存的高速缓存数据库。
经典应用,热门数据缓存,比如秒杀,电商网站商品描述信息
先启动redis然后才能进行下面的操作
linux环境下安装使用redis全步骤:
cd /usr/
mkdir redis
cd redis
wgethttp://download.redis.io/releases/redis-3.2.4.tar.gz //下载redis
tar -xzf redis-3.2.4.tar.gz //解压缩
cd redis-3.2.4
make // 安装redis
src/redis-server
cd /usr/redis/redis-3.2.4
src/redis-cli
经过以上步骤,你的redis客户端就启动好啦
二、Redis数据类型
五大数据类型:string,hash,list,set,sort set
String(字符串)是redis最基本的类型,你可以理解成与Memcached一模一样的类型,一个key对应一个value。string类型是二进制安全的。意思是redis的string可以包含任何数据。比如jpg图片或者序列化的对象 。string类型是Redis最基本的数据类型,redis中字符串value最多可以是512M
Hash(哈希)Redis hash 是一个键值对集合。Redis hash是一个string类型的field和value的映射表,hash特别适合用于存储对象。类似Java里面的Map<Strin