Redis 是啥?有啥用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Redis 是啥?有啥用相关的知识,希望对你有一定的参考价值。

redis和mysql的区别非常大。具体如下:mysql中一个中小型的网络数据库,比oracle和sqlserver小, 但是并发能力远超过acess这样的桌面数据库。redis是一个支持网络、可基于内存亦可持久化的日志型、Key-Value数据库。可以认为redis比mysql简化很多。mysql支持集群。现在大量的软件使用redis作为mysql在本地的数据库缓存,然后再适当的时候和mysql同步. 参考技术A Redis是由意大利人Salvatore Sanfilippo(网名:antirez)开发的一款内存高速缓存数据库。Redis全称为:Remote Dictionary Server(远程数据服务),该软件使用C语言编写,Redis是一个key-value存储系统,它支持丰富的数据类型,如:string、list、set、zset(sorted set)、hash。
众多语言都支持Redis,因为Redis交换数据快,在服务器中常用来存储一些需要频繁调取的数据,节省内存开销,也提升了速度。将一些热点数据存储到Redis中,要用的时候,直接从内存取,提高了速度和节约了服务器的开销。
1、会话缓存(最常用)
2、消息队列(支付)
3、活动排行榜或计数
4、发布,订阅消息(消息通知)
5、商品列表,评论列表

clickhouse 中的“宏”是啥,clickhouse 中的“宏”有啥用?

【中文标题】clickhouse 中的“宏”是啥,clickhouse 中的“宏”有啥用?【英文标题】:What is `macros` in clickhouse and what is use of `macros` in clickhouse?clickhouse 中的“宏”是什么,clickhouse 中的“宏”有什么用? 【发布时间】:2021-07-06 14:48:32 【问题描述】:

Clickhouse 中的macros 是什么?

macros 在 Clickhouse 中的用例是什么?

<macros>
    <cluster>MyFirstCluster</cluster>
    <replica>chdw1-5</replica>
    <shard>5</shard>
</macros>

config中各个属性的含义是什么?

在配置中分配每个属性的最佳做法是什么?

【问题讨论】:

【参考方案1】:

它们用于复制引擎 ZK 路径。

https://clickhouse.tech/docs/en/engines/table-engines/mergetree-family/replication/#creating-replicated-tables

CREATE TABLE table_name
(
    EventDate DateTime,
    CounterID UInt32,
    UserID UInt32,
    ver UInt16
) ENGINE = ReplicatedReplacingMergeTree('/clickhouse/tables/layer-shard/table_name', 'replica', ver)
PARTITION BY toYYYYMM(EventDate)
ORDER BY (CounterID, EventDate, intHash32(UserID))
SAMPLE BY intHash32(UserID)

每个 CH 节点都是独立的,不知道集群/分片/复制。

但 Replicated* 引擎使用 ZK 路径进行复制(将自己标识为副本)。这个 ZK 路径是从宏中渲染出来的。

所以在你的情况下,而不是

ReplicatedReplacingMergeTree('/clickhouse/cluster/tables/shard/table_name', 'replica', ver)

实际上宏会被替换。

【讨论】:

我知道 Zookeeper 是为了协调 Clickhouse 集群,但我没有得到 macros 变量(尤其是 layer)定义 macros 变量 e 的最佳实践是什么, g 如果我们想拥有一个带有X 分片和“Y”复制的 Clickhouse 集群,我们应该如何定义“宏变量” 您可以定义自己的宏。我认为您需要两个不同的分片宏 myshard1 , myshard2。在每个节点上设置两者。然后用不同的宏创建表。 如果我发现集群中的每台机器都正确,我们需要定义不同的macro.xml 来显示该机器在集群中的角色。我说的对吗?

以上是关于Redis 是啥?有啥用的主要内容,如果未能解决你的问题,请参考以下文章

redis的HyperLogLog有啥用

redis lua脚本有啥用

token存在redis里有啥用

Redis 和 Memcached 各有啥优缺点,主要的应用场景是啥样的

clickhouse 中的“宏”是啥,clickhouse 中的“宏”有啥用?

mongoose.model 中的第三个参数是啥?它有啥用