1.什么是nosql
nosql:not only sql 不仅仅只有sql,是对所有非关系型数据库的一种统称
2.nosql和rdbms的区别
rdbms:
1.高度组织化结构化数据
2.结构化查询语言(SQL) 支持sql语句 select * form t_usr
3.数据和关系都存储在单独的表中。---记录的关系
4.数据操纵语言DML[增删改],数据定义语言DDL[表结构的修改]
5.严格的一致性
6.基础事务[mysql支持事务---ACID]
nosql:
1.代表着不仅仅是sql
2.没有声明性查询语言[不支持select语言]
3.键值对存储,[类似于map]
4.不支持事务
5.非结构化和不可预知的数据。可以是很多类型
3.nosql的产品有哪些
redis:----java开发
mongodb:----前端
hbase:---大数据
4.介绍redis
redis是一款由c语言编写的软件,而且它以key-value的形式储存,它的计算在内存中,他的储存在磁盘中,提供了多种语言的api。
被数百万开发人员用作数据库、缓存流引擎和消息代理的开放源码内存数据存储。
5.如何安装redis
1.因为redis是由c语言编写的,所以需要先安装c语言的插件。
yum install gcc-c++
2.下载redis的软件:Download | Redis
3.把redis安装包上传到linux指定目录下
4.解压redis
tar -zxvf redis-7.2.0.tar.gz
5.进入redis目录,编译源码
make
6.安装redis----帮你配置环境变量
make install
7.启动redis服务
redis-server redis.conf
8.客户端连接
redis-cli -h[连接redis服务的ip] -p[连接redis的端口号] 默认为127.0.0.1 端口号为6379
redis-cli
连接的话需要复制一个标签连接,否则直接ctrl+c会结束redis启动
6.redis.conf常用配置
1.设置后台启动
上面连接时需要复制一个标签发现比较麻烦,我们可以设置后台启动
但是如果要关闭redis需要查看进程,杀进程来关闭
ps -ef|grep redis
kill -9 进程号
2.设置端口号
3.设置远程连接
4.设置保护模式
5.设置密码
6.设置库的数量
7.安装redis图形化客户端软件
是为了后期方便操作
8.redis常用指令
关于数据库的命令
select --选择库。默认为为第一个库 0-15
flushdb --清空当前库的内容
flushall --清空所有库的内容
关于key的命令
keys * -- 查看当前库的所有key
del key... -- 删除当前库指定的key
exists key -- 判断指定的key是否存在 存在1 不存在0
expire key seconds -- 设置指定key的过期时间 单位秒
ttl key -- 查看当前key的有效时间 。-1表示永不过期
redis支持的数据类型
redis可以存放哪些数据类型。---redis的value可以是哪些数据类型,它的类型可以是以下这些类型
使用最多的类型:Strings字符串类型、Lists队列集合、Sets集合类型、Hashes哈希类型、Sorted Sets有序结合类型
1.Strings字符串类型
set key value -- 设置key的值为字符串类型的value,这里的key不允许重复
get key -- 根据key获取对应的value值
mset key value key value... -- 设置多个key-value
mget key... -- 获取多个key对应的value值
setnx key value -- 如果指定的key存在则不存入,如果不存在才存入
incr key -- 为指定的key递增。 --value必须为整形
decr key -- 为指定的key递减。--value必须为整形
incrby key number -- 为指定的key递增number的值
decrby key number -- 为指定的key递减number的值
2.hashes哈希类型
表示radis中他的value类型为hash数据类型。hash类型的特点:他的value也是一个键值对的形式。
hset key field value -- 存放hash类型的数据
hget key field --获取相应key中field对应的数据
hgetall key -- 获取key对应hash数据内容
hkeys key -- 获取hash中所有field字段
hvals key -- 获取hash中所有value字段
3.lists队列类型
他的value值为一个列表队列类型,列表中的元素允许重复。key对应的value类型为一个列表类型。
lpush key value value... -- 从左边存放列表数据
lpop key [count] -- 从左边取出元素
lrange key start end -- 从左边获取指定范围的元素 -1表示最后一个元素