当前位置: 首页 > wzjs >正文

顺德网站制作案例咨询诏安网站建设

顺德网站制作案例咨询,诏安网站建设,河北网站开发哪家好,wordpress文库管理系统文章目录 1. 一些概念1.1 NoSQL1.2 OLTP与OLAP1.3 Redis特点 2. 基本操作2.1 登录2.1.1 创建redis容器2.1.2 redis-cli登录连接检测服务是否运行身份验证/ACL 2.2 配置2.3 Redis服务端管理2.4 其他2.4.1 key管理Scan cursor 2.4.2 批量删除 3. 基本数据类型3.1 String3.2 hash3…

文章目录

  • 1. 一些概念
    • 1.1 NoSQL
    • 1.2 OLTP与OLAP
    • 1.3 Redis特点
  • 2. 基本操作
    • 2.1 登录
      • 2.1.1 创建redis容器
      • 2.1.2 redis-cli登录
        • 连接
        • 检测服务是否运行
        • 身份验证/ACL
    • 2.2 配置
    • 2.3 Redis服务端管理
    • 2.4 其他
      • 2.4.1 key管理
        • Scan cursor
      • 2.4.2 批量删除
  • 3. 基本数据类型
    • 3.1 String
    • 3.2 hash
    • 3.3 List
    • 3.4 Set
    • 3.5 Sorted Set/Zset
  • 4. 其他数据类型(待补充)
    • HyperLogLog
    • Bitmaps
    • Geospatial Indexes
    • Streams
  • 5. 使用案例(待补充)
  • 6. 参考
    • 6.1 系统教程
    • 6.2 特定话题

1. 一些概念

1.1 NoSQL

NoSQL数据库:Not Only SQL。非传统关系型数据库。特点:数据模型灵活,可扩展性高(设计为分布式),高性能(内存存储,数据结构和算法高效),高可用(数据复制,分片等)。适用场景:实时数据分析,大数据存储和分析(分布式),内容系统(文档型数据库),社交网络和推荐系统(图数据库)

NoSQL数据库的类型

  • 键值对:Redis,Mencache

  • 文档型:MongoDB,ES

  • 列式存储数据库:Cassandra,Clickhouse,HBase

  • 图数据库:Neo4j

1.2 OLTP与OLAP

在线事务处理(OLTP):面向交易的处理系统,它是一种对数据库进行实时读写操作的系统,主要用于处理日常的业务交易。如MySQL(关系型),OceanBase(分布式数据库),Redis(内存数据库)

在线分析处理(OLAP):用于支持复杂分析和决策制定的系统,它主要对大量的历史数据进行汇总、分析和挖掘。如SSAS(关系型),EssBase(多为数据库),Clinckhouse(列式存储)。

1.3 Redis特点

AICD支持:redis所有操作是原子的,支持持久化。

数据丰富:值类型:string,list,set,sortedset,hash,sorted hash,Bitmaps,HyperLogLogs,Geospatial,Pub/Sub,Streams,Modules。

性能:支持每秒数十万次的读写操作(读的速度是 110000次/s,写的速度是 81000次/s)。单线程,事务驱动来处理并发请求。

特性:持久化(RDB,AOF);分布式特性(主从复制,哨兵模式,集群模式);支持发布订阅(pub/sub)——可作为消息队列:通知——分布式缓存更新,敏感操作审计;key过期——实时系统;支持lua脚本实现高级功能

应用场景:缓存(内存数据库,高性能读写);消息队列(支持pub/sub);会话管理(保存用户会话信息);分布式锁(原子性)

2. 基本操作

2.1 登录

2.1.1 创建redis容器

# 使用默认配置启动
docker run -d --name redis0 -p 6379:6379 redis:latest# 挂载配置文件启动:redis-server /usr/local/etc/redis/redis.conf  表示在容器内使用配置文件启动redis服务端
docker run -d --name redis -p 6379:6379 -v /path/to/redis.conf:/usr/local/etc/redis/redis.conf redis:latest redis-server /usr/local/etc/redis/redis.conf

2.1.2 redis-cli登录

连接
# 直接连接
docker exec -it redis0 redis-cli  # 先进入容器,再连接redis服务端
docker exec -it redis0 /bin/bash
redis-cli -h host -p port
检测服务是否运行
ping 		 # 返回PONG 响应证明redis-server正常
ping "hello" # 带参数的ping命令,返回"hello"。快速检测连接状态、服务器可用性,测量网络延迟以及验证协议兼容性
身份验证/ACL

redis 6开始引入ACL作为身份验证方式。每个用户有自己的用户名和密码,每个用户被分配了一定的权限。default用户在被修改之前具备全部权限(相当于root用户),要确保default用户的安全性。也常专门创建一个admin用户以管理其他用户。

# 查看所有用户信息
ACL LIST  # default: 默认用户,on: 该用户处于启用状态,nopass: 无需密码就能登录,~*: 可以访问所有键,+@all: 拥有所有命令的执行权限
"user default on nopass sanitize-payload ~* &* +@all"# 查看指定用户信息
ACL GETUSER default# 创建新用户
ACL SETUSER newuser on >password ~* +get +set# 删除新用户
ACL DELUSER newuser# 以特定用户身份登录redis
redis-cli -u redis://username:password@127.0.0.1:6379

传统密码验证模式:没有用户名,客户端执行auth成功后就可执行redis指令。

# redis.conf中通过配置项requirepass来设置密码
requirepass yourpassword# 连接后验证
auth password

2.2 配置

配置文件:redis官方镜像中没有默认的redis.conf,如果需要挂载自定义的配置文件,注意要挂在到容器中的指定位置:/usr/local/etc/redis/redis.conf
redis.conf模板文件:https://redis.io/docs/latest/operate/oss_and_stack/management/config/
配置参数参考:https://www.runoob.com/redis/redis-conf.html

# 获取所有配置项
CONFIG GET *# 获取配置项loglevel
CONFIG GET loglevel# 设置配置项
CONFIG SET loglevel "notice"

2.3 Redis服务端管理

服务端统计信息含义参考:https://redis.io/docs/latest/commands/info/

# 查看服务端统计信息:Server,Clients,Memory,Persistence,Stats,Replication,CPU,Keyspace
INFO

2.4 其他

2.4.1 key管理

Scan cursor

用于迭代数据库中所有的key,一次迭代返回下次迭代起始游标值n1和本次迭代的所有key。

# 迭代数据库中的key
scan 0   # 第一次迭代,返回游标值,n1
scan n1  # 第二次迭代,返回游标值,n2
scan n2  # 第三次迭代# 指定期望返回n个扫描结果,实际返回结果数量可能不等于n
scan <cursor> n# 用于批量删除
scan <cursor> match '<match_pattern>'

2.4.2 批量删除

redis-cli -a "passwd" --scan --pattern '<pattern>' | xargs redis-cli -a "passwd" del

3. 基本数据类型

多元素类型支持的最大元素个数可以查redis官方文档ai助手:https://redis.io/chat?q=max+elements+of+zset&page=1。提示词:The maximum number of elements in a sorted set/set/list/hash

3.1 String

二进制安全:Redis 在处理字符串时,能够准确无误地存储和读取任何二进制数据,而不会对数据进行任何修改或截断。这使得string 可以包含任何数据(文本、图像、音频、视频)。

maxsize:512MB

# 设置key-value
set acCnt 0# 查看key数据类型
type acCnt  # string# 自增1
incr acCnt
get acCnt  # 1# 自减1
decr acCnt
get acCnt  # 0# 追加string
APPEND acCnt " unit"
get acCnt  # "1 unit"# 删除key
del acCnt

3.2 hash

hash表:kv集合,值类型必须是string类型,而不能是hash表类型。可以使用多级哈希表模拟嵌套结构,第一层hash表重

基本用法

# 创建hash表
Hset user name aa  		# name: aa
Hset user age 21   		# age: 21
Hmset user gender male city Beijing  # 一次加入多个kv,gender: male, city: Beijing# 查询hash表user的某个字段
Hget user name     		# user[name]
Hget user age      		# user[age]
Hmget user name age  	# 一次查询多个字段,user[name], user[age]# 查询hash表user的全部字段
HGETALL user# 删除hash表中的某个字段
Hdel user name     		# del user[name]
hmdel user gender city  # 一次删除多个字段 del user[gender], del user[city]

模拟嵌套hash表

# 创建外层哈希表
HSET outer_hash nested_key nested_hash_key# 创建内层哈希表
HSET nested_hash_key subfield1 subvalue1
HSET nested_hash_key subfield2 subvalue2# 从外层到内层访问
HGET outer_hash nested_key  	# 访问外层hash表,得到nested_hash_key
HGET nested_hash_key subfield1  # 访问内层hash表

3.3 List

string列表,头部/左边插入或者尾部/右边插入

# 将值插入到列表头部。
LPUSH names aa# 将值插入到列表尾部。
RPUSH names bb# 移出并获取列表的第一个元素。"aa"
LPOP names# 移出并获取列表的最后一个元素。"bb"
RPOP names# 获取列表在指定范围内的元素。[start, end],索引从0开始
LRANGE names start stop

3.4 Set

无序集合,基于哈希表实现的,插入,删除,查询O(1)

# 向集合添加一个或多个成员
SADD uids 001
SADD uids 001  # 重复值插入失败
SADD uids 002# 移除集合中的一个或多个成员
SREM uids 001# 返回集合中的所有成员
SMEMBERS uids  # "001","002"# 判断值是否是集合的成员
SISMEMBER uids 003  # 返回0,表示判断失败

3.5 Sorted Set/Zset

string集合,不允许重复值,每个元素配一个score,score可以重复,通过scoore来确定元素偏序。

# 向有序集合添加一个或多个成员,或更新已存在成员的分数
zadd myzset 2 "bb" 1 "aa" 4 "dd" 3 "cc"# 查询zset中的元素
ZCARD myzset  # 4# 查询指定索引范围内的元素
ZRANGE myzset 0 3 [WITHSCORES]  # 索引从0开始计算,带上每个元素的score
1) "aa"
2) "bb"
3) "cc"
4) "dd"# 查询指定score范围内的查询元素
ZRANGEBYSCORE myzset 0 4 [WITHSCORES]  # 检索出score范围在[0-4]内的元素# 移除有序集合中的一个或多个成员
ZREM myzset "aa" "bb" # 返回有序集合中,成员的分数值
ZSCORE myzset "cc"

4. 其他数据类型(待补充)

HyperLogLog

Bitmaps

Geospatial Indexes

Streams

5. 使用案例(待补充)

6. 参考

6.1 系统教程

https://redis.io/about/

https://www.runoob.com/redis/redis-tutorial.html

https://www.geeksforgeeks.org/introduction-to-redis-server/

6.2 特定话题

redis有哪些产品,大概什么作用:ref:https://redis.io/docs/latest/operate/

redis管理。ref: https://redis.io/docs/latest/operate/oss_and_stack/management/


文章转载自:

http://lSr9y0i1.nybns.cn
http://JuKWWIWJ.nybns.cn
http://KAxJrQFq.nybns.cn
http://kp0BqOld.nybns.cn
http://5ZlnTVX2.nybns.cn
http://y4ajiFU5.nybns.cn
http://2mFcPnIO.nybns.cn
http://Qd4kGD70.nybns.cn
http://S27WQzEL.nybns.cn
http://yn28clWy.nybns.cn
http://hD49xITb.nybns.cn
http://njLdVb0q.nybns.cn
http://EMDoOC1q.nybns.cn
http://GZ606msF.nybns.cn
http://7L0kSdtk.nybns.cn
http://GY5Ch4qb.nybns.cn
http://bnvmkbAm.nybns.cn
http://VXhCW7XC.nybns.cn
http://PHdOWQeo.nybns.cn
http://vXpLpMpe.nybns.cn
http://VoMVU8sE.nybns.cn
http://ZajoDzzD.nybns.cn
http://rYzHCnUw.nybns.cn
http://b1w5F73g.nybns.cn
http://j6XMXIOv.nybns.cn
http://G4LRfXmt.nybns.cn
http://nsMlNqpS.nybns.cn
http://nAPE2pEL.nybns.cn
http://9Z0y04nZ.nybns.cn
http://ThOutsr8.nybns.cn
http://www.dtcms.com/wzjs/694619.html

相关文章:

  • 网站后台难做吗学网站ui设计
  • 网站备案 登录名品牌升级策略
  • 海拉尔网站建设浙江同凯建设深圳公司
  • 野马视觉传媒网站建设汕头建站模板
  • 公司网址一般是什么百度搜索名字排名优化
  • 海门市住房和城乡建设局网站互动游戏制作软件
  • 建设建设部网站网站建设验收评审标准
  • 重庆seo整站优化服务wordpress表格样式
  • 小网站搜什么关键词好网站建设免费国外
  • 现在的网站推广是怎么做的公司网站建设征稿令
  • sem论坛如何seo搜索引擎优化
  • 网站建设与管理维护说课广州网站优化
  • 南京模板网站开发南京的互联网公司
  • 浏览器禁止网站怎么做官网网站建设公司
  • 怎么用ngrok做网站重庆建设工程信息官网
  • 企业网站建设标准制作投票网站
  • 伪原创对网站的影响门户网站百度百科
  • 网站seo方案设计如何建设本地网站
  • 潍坊做网站的综合服务平台一站式服务平台网站开发
  • 品牌网站建设的关键要点龙岗网站设计
  • 自己制作头像的网站 设计 动漫做百度移动端网站优
  • 包头住房和城乡建设厅网站可以看的网站的浏览器有哪些
  • 第一次做怎么放进去视频网站微信公共平台开发
  • 企业网站建设文章什么网站做一件代发
  • 沧州网站制作网站wordpress 拍照
  • 制作公司网站设网络最有效的推广方法
  • 如何做网站链接使用专业别墅装修设计公司
  • 哪个做app的网站好品牌策划与设计
  • 免费开发软件的网站建设苏州新港建设集团有限公司网站
  • 一些做义工的旅游网站做网站需要学些什么软件