redis数据库笔记第9篇:在哪个服务器上写数据:CRC16,Python交互

举报
程序员一诺python 发表于 2025/09/14 12:47:33 2025/09/14
【摘要】 Redis简介 推荐阅读 为什么要有集群 集群的概念 搭建集群 参考阅读 学习目标 nosql介绍 NoSQL:一类新出现的数据库(not only sql) NoSQL和SQL数据库的比较: 学习时长 配置 核心配置选项 参考资料 服务器端 客户端 string类型 保存 获取 删除 键命令 hash类型 增加、修改 list类型 增加 set类型 数据操作行为 Strict

🚀🚀🚀本篇主要内容

在哪个服务器上写数据:CRC16

  • redis cluster在设计的时候,就考虑到了去中⼼化,去中间件,也就是说,集群中 的每个节点都是平等的关系,都是对等的,每个节点都保存各⾃的数据和整个集 群的状态。每个节点都和其他所有节点连接,⽽且这些连接保持活跃,这样就保 证了 只需要连接集群中的任意⼀个节点,就可以获取到其他节点的数据
  • Redis集群没有并使⽤传统的⼀致性哈希来分配数据,⽽是采⽤另外⼀种叫做哈希 槽 (hash slot)的⽅式来分配的。redis cluster 默认分配了 16384 个slot,当 set⼀个key 时,会⽤CRC16算法来取模得到所属的slot,然后将这个key 分到哈 希槽区间的节点上,具体算法就是:CRC16(key) % 16384。所以 在测试的 时候看到set 和 get 的时候,直接跳转到了7000端⼝的节点

Python交互

  • 安装包如下

    pip install redis-py-cluster

  • redis-py-cluster源码地址[

  • 创建⽂件redis_cluster.py,示例码如下

from rediscluster import *
if __name__ == '__main__':
  try:
    # 构建所有的节点,Redis会使⽤CRC16算法,将键和值写到某个节点上
    startup_nodes = [
        {'host': '192.168.26.128', 'port': '7000'},




# 学习目标




* 能够描述出什么是 nosql
* 能够说出 Redis 的特点





# nosql介绍







## NoSQL:一类新出现的数据库(not only sql)




* 泛指非关系型的数据库
* 不支持SQL语法
* 存储结构跟传统关系型数据库中的那种关系表完全不同nosql中存储的数据都是KV形式
* NoSQL的世界中没有一种通用的语言每种nosql数据库都有自己的api和语法以及擅长的业务场景
* NoSQL中的产品种类相当多

   * Redis
   * Mongodb
   * Hbase hadoop
   * Cassandra hadoop





## NoSQL和SQL数据库的比较:




* 适用场景不同sql数据库适合用于关系特别复杂的数据查询场景nosql反之
* **事务** 特性的支持sql对事务的支持非常完善而nosql基本不支持事务
* 两者在不断地
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。