NoSQL理论基础
1、主流的NoSQL
2、NoSQL特性
NoSQL是key-value形式存储,和传统的关系型数据库不一样,不一定遵循传统数据库的一些基本要求,比如说遵循SQL标准、ACID属性、表结构等等。
这类数据库主要有以下特点:
- 非关系型的、分布式、开源的、水平可扩展的
- 处理超大量数据
- 击碎了性能瓶颈对数据高并发读写
- 对海量数据的高效率存储和访问
- 对数据的高扩展性和高可用性
Redis
1、简介
Redis是一个开源的,先进的 key-value存储.它通常被称为数据结构服务器,因为键可以包含string(字符串)、hash(哈希)、list(链表)、set(集合〉和zset ( sorted-set–有序集合)。这些数据类型都支持 push/pop、add/remove及取交集并集和差集及更丰富的操作。
Redis 和 Memcached类似,它支持存储的value类型相对更多,与memcached一样,为了保证效率,数据都是缓存在内存中,区别是Redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。
2、安装Redis
Redis-server Redis服务端
Redis-cli Redis 客户端
redis-cli
-h ip 连接指定的redis服务器
-p 6379 指定redis服务器的端口
-a 密码 使用密码登录
-n 数据库号 使用哪个数据库
--raw redis 支持存储中文
3、Redis数据操作
暂时感觉用不到,以后用到再说
4、Redis密码防护
1、修改配置文件
# vi /usr/local/redis/etc/redis.conf
requirepass 123456
2、重启redis
# pkill redis
#redis-server .../etc/redis.conf
3、客户端登录
# redis-cli -a 123456
5、主从同步
Redis主从复制过程:
- Slave 与 master建立连接,发送sync同步命令
- Master会启动一个后台进程,将数据库快照保存到文件中,同时master主进程会开始收集新的写命令并缓存。
- 后台完成保存后,就将此文件发送给slave
- Slave将此文件保存到硬盘上
1.主服务器给自己设置好密码即可( iptables&SELinux关闭)
2.从服务器修改配置文件,用来连接主服务器
主:
找到bind 127.0.0.1 注释掉,或者修改为本机的IP地址(重启)
从:
replicaof <masterip><msterport> #主服务器的IP和端口
masterauth <masterpass> #主服务器的密码(主服务器要设置好密码)
3.重启从服务器,然后测试(可通过info命令获取当前服务器身份类型)
6、数据持久化
Redis是一个支持持久化的内存数据库,也就是说需要经常将内存中的数据同步到硬盘来保证持久化。
snapshotting(快照)–默认方式
RDB持久化方式能够在指定的时间间隔能对你的数据进行快照存储。是默认的持久化方
是将内存中数据以快照的方式写入到二进制文件中,默认的文件名为dump.rdb。种付人化力八放份为快照snapshotting(快照)。
- 过了900秒并且有1个key ‘发生了改变就会触发save动作
- 过了300秒并且有10个key 发生了改变就会触发save动作
- 过了60秒并且至少有10000个key 发生了改变也会触发save动作
结论:在redis.conf文件中dir./定义了数据库文件的存放位置,默认是当前目录。所以每次重启redis服务所在的位置不同,将会生成新的dump.rdb文件;建议服务器搭建完成时先修改快照文件保存位置。
文章内容仅用于作者学习使用,如果内容侵犯您的权益,请立即联系作者删除,作者不承担任何法律责任。