NoSql

1、什么是NoSql?

NoSQL(Not only SQL)是对不同于传统的关系数据库的数据库管理系统的统称,即广义地来说可以把所有不是关系型数据库的数据库统称为NoSQL。

NoSql数据库专门构建用于特点的数据模型,并且具有灵活的架构来构建现代应用程序。NoSql数据库使用各种数据模型类访问呵管理数据。这些类型的数据库专门针对需要大数据量、低延迟和灵活数据模型的应用程序进行优化,这是通过放宽其他数据库的某些数据一直性限制来实现的。

2、nosql和rdbms的区别?

RDBMS

  • 高度组织化结构化数据:
  • 结构化查询语言(sql) 支持sql语句 select * from table_name
  • 数据呵关系都存储在单独的表中。---记录和关系
  • 数据操纵语言DML【增删改】,数据定义语言DDL【表结构的修改】
  • 严格的一致性
  • 基础事务【mysql支持事务--ACID】

NoSql

  • 代表着"不仅仅是SQL"
  • 没有声明性查询语言【不支持select语句】
  • 键 - 值对存储,【类似于map】
  • 不支持事务的一致性
  • 非结构化和不可预知的数据。可以是很多类型

3、NoSql产品有哪些?

Redis:---java开发

mongodb:--前端

hbase:----大数据

4、什么是redis?

Redis(Remote Dictionatry Server),即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并且提供多种语言的API。

5、如何安装redis?

(1)安装C语言的插件

yum install gcc-c++ 

(2)下载redis软件

https://redis.io/download/

(3)把redis压缩包上传到linux指定目录下
image
我这里使用的软件是FlanShell
(4)解压redis

cd  redis解压后的目录
tar -zxvf  XXX.tar.gz

image

(5) 进入解压目录 并编译源码

cd redis-7.2.0  进入解压目录
make 编译源码

image

(6) 安装redis----帮你配置环境变量

make install

image

(7)启动redis服务

redis-server  redis.conf[redis的配置文件]

image

(8)客户端连接redis(注意不能关闭redis服务)

redis-cli -h[连接redis服务的ip] -p[连接redis的端口号]
---------------------------------------------------
上面如果不使用-h和-p 默认为127.0.0.1   6379

image
6、redis.conf配置
1、设置redis后台启动

# 设置redis是否为后台启动---改为yes ,如果想关闭redis需要通过关闭进程来关闭。
#kill -9 进程号
daemonize yes
ps -ef | grep redis

image

2、修改端口号。

注意:启动之前注意需要重启redis进程

# 修改端口号
port 3333

image

7、安装redis图形化客户端软件

等价于:mysq的navicat,可以通过图像化对redis进行操作。

image

image

修改redis允许远程连接。 (修改配置后记得重启redis)

# 设置允许所有的Ip连接该redis
bind * -::*
# 设置是否开启保护模式 --- yes开启 no表示关闭
protected-mode no

连接成功后显示:

image

默认redis提供了16个库。如果想修改库的个数。

# 修改redis数据库的个数--默认不改
databases 16

8、redis中常用的命令

8.1 关于数据库的命令

select 选择库 === 默认为第一个库 0~15

flushdb === 清空当前库的内容

flushall === 清空所有库的内容

8.2关于key的命令

keys * : 查看当前库中所有的key

del key key key ... :删除指定的key

exists key :判断指定的key是否存在。

expire key seconds:设置指定的key的过期时间单位 s

ttl key:[ttl time to live] 查看当前key的有效时间。-1 表示永不过期。

9、redis支持的数据类型

image
使用最多的类型为:String字符串类型、list类型、sets集合类型、Hashes哈希类型,SortedSet有序集合类型。

9.1、字符串类型

https://www.redis.net.cn/order/

redis中它的value类型为字符串类型,该类型最多可以存放512M的那内容

字符串类型相关的命令

set key value:存储字符串类型的数据。这里的key不允许重复
get key:根据key获取对应的value值。
mset key value key value ... :存储多个key-value值
mget key key key ... 获取多个key对应的value
sentx key value:如果指定的key存在,则不存入,如果不存在则存入
incr key:为指定的key递增。---只能对整型。 大多用于点赞 收藏
decr key:为指定的key递增
decrby key number:为指定的key递减相应的值

9.2、hash的数据类型

表示redis中它的value类型为bash数据类型。hash类型特点:他的value也是一个键值对的形式。

hash类型相关的命令

hset key field value  : 存放hash类型的数据
hget key field:获取key对应field内容
hgetall key:获取key对应hash数据内容
hkeys key:获取hash中所有的field字段
hvalue key:获取hash中所有的value值

9.3、List列表类型

它的value值为一个列表类型,列表中的元素允许重复。key对应的value类型为一个列表类型。

lpush key value value value ...:从左存放数据
rpush key value value value ...:从右存放数据
lpop key [count]:从左边取出元素。
rpop key [count]:从右边取出元素
lrange key start end; 从左边获取指定范围的元素 -1:表示最后一个元素
posted @ 2023-08-29 09:52  蝶凌天  阅读(27)  评论(0编辑  收藏  举报