NoSQL之Redis配置与优化
关系数据库与非关系型数据库关系型数据库
1、一个结构化的数据库,创建在关系模型基础上
2、一般面向于记录
3、包括:
Oracle、MySQL、SQL Server、Microsoft Access、DB2等
非关系型数据库
1、除了主流的关系型数据库外的数据库,都认为是非关系型
2、包括:
Redis、 MongBD、Hbase、CouhDB等
非关系型数据库产生背景
1、High performance–对数据库高并发读写需求
Huge Storage-———对海量数据高效存储与访问需求
High Scalability && High Availability——对数据库高可扩展性与高可用性需求
Redis简介
1、Redis基于内存运行并支持持久化
2、采用key-value(键值对)的存储形式
3、优点
具有极高的数据读写速度
支持丰富的数据类型支持数据
支持久化
原子性
支持数据备份
Redis安装部署
1、导入redis-5.0.7.tar.gz数据包
2、解压数据包
[root@redis ~]# tar zxvf redis-5.0.7.tar.gz
3、编译安装redis
[root@redis ~]# cd redis-5.0.7/
[root@redis redis-5.0.7]# make
[root@redis redis-5.0.7]# make PREFIX=/usr/local/redis install
4、优化路径
[root@redis redis-5.0.7]# ln -s /usr/local/redis/bin/* /usr/local/bin/
5、设置Redis相关配置文件
[root@redis redis-5.0.7]# cd /root/redis-5.0.7/utils/
[root@redis utils]# ./install_server.sh
6、登录redis
[root@redis ~]# redis-cli -h 127.0.0.1 -p 6379
127.0.0.1:6379>
7、redis数据类型
string(字符串)是redis最基本的类型
127.0.0.1:6379> set name lisi
OK
127.0.0.1:6379> get name
"lisi"
127.0.0.1:6379>
Hash(哈希字典),适合存储对象
127.0.0.1:6379> hmset edu name wangwu id 17
OK
127.0.0.1:6379> hget edu name
"wangwu"
127.0.0.1:6379> hget edu id
"17"
List(列表)
127.0.0.1:6379> lpush abc a3
(integer) 3
127.0.0.1:6379> lrange abc 0 5
1) "a3"
2) "a2"
3) "a1"
127.0.0.1:6379> lrange abc 0 0
1) "a3"
127.0.0.1:6379> lrange abc 0 1
1) "a3"
2) "a2"
127.0.0.1:6379> lrange abc 1 1
1) "a2"
127.0.0.1:6379> lrange abc 2 2
1) "a1"
List(列表) 类似时间轴的顺序
Set(集合)是string类型的无序的集合
27.0.0.1:6379> sadd sum b1 b2 b3 b4
(integer) 4
127.0.0.1:6379> smembers sum
1) "b1"
2) "b4"
3) "b3"
4) "b2"
127.0.0.1:6379> sadd sum b1 重复的元素添加不了
(integer) 0
zset(有序集合)
127.0.0.1:6379> zadd ccc 0 c1
(integer) 1
127.0.0.1:6379> zadd ccc 0 c2
(integer) 1
127.0.0.1:6379> zadd ccc 1 c3
(integer) 1
127.0.0.1:6379> zadd ccc 1 c4
(integer) 1
127.0.0.1:6379> zadd ccc 2 c5
(integer) 1
127.0.0.1:6379> zadd ccc 2 c6
(integer) 1
127.0.0.1:6379> zrangebyscore ccc 0 10
1) "c1"
2) "c2"
3) "c3"
4) "c4"
5) "c5"
6) "c6"
127.0.0.1:6379> zadd ccc 0.5 d1
(integer) 1
127.0.0.1:6379> zadd ccc 0.5 d2
(integer) 1
127.0.0.1:6379> zrangebyscore ccc 0 10
1) "c1"
2) "c2"
3) "d1"
4) "d2"
5) "c3"
6) "c4"
7) "c5"
8) "c6"
设置使用IP地址登录
[root@redis ~]# vim /etc/redis/6379.conf
bind 127.0.0.1 ------》 bind 127.0.0.1 20.0.0.10
[root@redis ~]# /etc/init.d/redis_6379 restart
[root@redis ~]# redis-cli -h 20.0.0.10 -p 6379
20.0.0.10:6379>