建站快车的功能介绍,邯郸网站设计报价,企业工资管理系统软件,常州网站建设套餐1. 什么是NoSQL nosql[not only sql]不仅仅是sql。所有非关系型数据库的统称。除去关系型数据库之外的都是非关系数据库。 1.1为什么使用NoSQL NoSQL数据库相较于传统关系型数据库具有灵活性、可扩展性和高性能等优势#xff0c;适合处理非结构化和半结构化数据#xff0c…1. 什么是NoSQL nosql[not only sql]不仅仅是sql。所有非关系型数据库的统称。除去关系型数据库之外的都是非关系数据库。 1.1为什么使用NoSQL NoSQL数据库相较于传统关系型数据库具有灵活性、可扩展性和高性能等优势适合处理非结构化和半结构化数据支持分布式架构以实现高可用性和高吞吐量。同时NoSQL的无模式特性使其能够迅速适应变化的数据结构提升开发效率特别适合大数据和快速迭代的应用场景。 NoSQL数据库的出现弥补了关系数据比如MySQL在某些方面的不足在某些方面能极大的节省开发成本和维护成本。MySQL和NoSQL都有各自的特点和使用的应用场景两者的紧密结合将会给web2.0的数据库发展带来新的思路。让关系型数据库关注在关系上NoSQL关注在存储上。 1.2 NOSQL和RDBMS的区别
RDBMS--关系型数据库得到通称
- 高度组织化结构化数据。
- 结构化查询语言SQL sql语句
- 数据和关系都存储在单独的表中。
- 数据操纵语言DML数据定义语言DDL
- 严格的一致性. 事务
- 基于事务NoSQL--非关系型数据库的统称
- 代表着不仅仅是SQL
- 没有声明性查询语言。 sql语句
- 键 - 值对存储。
- 非结构化和不可预知的数据 value: 字符串 对象 集合 无需集合
- 高性能高可用性和可伸缩性。 适合搭建集群。 ---基于内存计算的1.3 常用的NOSQL产品
1. redis [企业使用频率很高]
2. mongodb [抽空看看]
3. hbase [适合大数据]2. redis的介绍
2.1 redis的概述
redis的官网https://redis.io/ Redis是一种开放源代码BSD许可的内存中数据结构存储用作数据库缓存和消息代理。Redis提供数据结构例如字符串哈希列表集合带范围查询的排序集合位图超日志地理空间索引和流。Redis具有内置的复制[集群]Lua脚本LRU驱逐事务和不同级别的磁盘持久性[磁盘]并通过Redis Sentinel和Redis Cluster自动分区提供了高可用性【集群】。 redis是免费的软件它可以用作数据库缓存消息代理。而且里面可以存储多种数据类型并且提高了高可用机制。
2.2 redis的特点
2.1 redis的特点
1.Redis读取的速度是110000次/s写的速度是81000次/s
2.原子 。Redis的所有操作都是原子性的同时Redis还支持对几个操作全并后的原子性执行。线程安全
3.支持多种数据结构string字符串list列表hash哈希set集合zset(有序集合)
4.持久化--磁盘主从复制集群
5.官方不支持window系统,但是又第三方版本。 linux系统。2.3 linux中安装redis
redis软件语言是C语言。—必须安装C的环境。
第一步准备环境
1.安装redis需要的环境。yum install -y gcc-c yum命令不可用上节讲述
2.上官网下载redis源码安装包。 ---redis-7.2.3.tar.gz第二步放入uer/app下并解压
tar -zxvf redis-7.2.3.tar.gz第三步进入解压后的目录
cd redis-7.2.3第四步编译安装
make install自动配置了环境变量。 2.4 启动redis服务器
redis-server redis.confredis-server: redis启动的脚本命令
redis.conf redis配置文件的名
安装redis.conf这个配置来启动redis服务2.5 客户端连接redis服务器
redis-cli -h redis服务器的ip -p 端口号
-h: 如果不写默认127.0.0.1
-p: 默认63792.6 配置文件 2.7 安装图形化客户端
可以使用navicat(16.2之后的版本)idea(2022.3.3之后)redisplus等 使用前要修改上述配置
3. 使用redis
详情参考:https://www.redis.net.cn/order/
3.1 key操作的命令
keys *:查看所有的key
del key ...: 删除指定的key
expire key second: 为指定的key设置过期时间
exists key: 判断指定的key是否存在3.2 数据库的命令
select n:选择库
flushdb: 清空当前库
flushall: 清空所有库。3.3 redis支持的数据类型 redis支持的数据类型种类很多其中使用最频繁的: String字符串HashList队列Set集合ZSet有序集合等。 3.3.1 字符串类型。 表示里面的value的类型为字符串类型。默认可以存放512M大小的字符串内容。 常用:
1. set key value: 存放字符串类型的数据
2. get key: 获取指定key对应的value值。
3. setex key second value: 存放字符串类型的数据并设置过期时间。
4. setnx key value: 如果指定的key存在则不设置。不存在则存入。
5. incr key: 为指定的key递增
6. decr key: 为指定的key递减 3.3.2 Hash类型 表示value值为Hash数据类型。 表示value又是key-value形式。 常用:
1. hset key field value: 存储哈希类型的数据
2. hget key field: 获取存在哈希表中指定字段的value值
3. hgetall key: 获取在哈希表中指定key的所有字段和值
4. hkeys key: 获取所有哈希表中的字段
5. hvals key: 获取哈希表中所有的值
6. hexists key field:查询哈希表key中指定的字段是否存在3.3.3 list类型 list表示列表类型表示value的值为list类型。 常用:
1. lpush key value value ....: 将一个或多个值插入到列表的头部。
2. lrange key start end: 获取列表指定范围内的元素
3. linsert key before|after element value: 在列表元素前或后插入元素
4. lpop key: 移除并获取列表中的第一个元素
5. lset key index value: 修改指定下标的值3.3.4 set集合 无序 不可重复的集合。 1. sadd key element element ...:向集合添加一个或多个成员
2. smembers key: 返回集合中的所有成员.
3. srem key : 移除集合中一个或多个成员
4. sinter key key..: 返回给定所有集合的交集.3.3.5 zset集合 有序 元素不允许重复的集合。 有序跟属性score有关。 1. zadd key score value score value score value 向有序集合添加一个或多个成员或者更新已存在成员的分数2.zrange key start end: 通过索引区间返回有序集合成指定区间内的成员3.zrevrange key start end: 返回有序集中指定区间内的成员通过索引分数从高到底