游客6j4ilg35ingm2_个人页

个人头像照片 游客6j4ilg35ingm2
个人头像照片
0
2367
0

个人介绍

暂无个人介绍

擅长的技术

获得更多能力
通用技术能力:

暂时未有相关通用技术能力~

云产品技术能力:

暂时未有相关云产品技术能力~

阿里云技能认证

详细说明
暂无更多信息

2022年03月

正在加载, 请稍后...
暂无更多信息
  • 回答了问题 2022-03-14

    Click中的Jedis与Redisson对比有什么优缺点?

    Jedis是Redis的Java实现的客户端,其API提供了比较全面的Redis命令的支持;Redisson实现了分布式和可扩展的Java数据结构,和Jedis相比,功能较为简单,不支持字符串操作,不支持排序、事务、管道、分区等Redis特性。Redisson的宗旨是促进使用者对Redis的关注分离,从而让使用者能够将精力更集中地放在处理业务逻辑上。

    踩0 评论0
  • 回答了问题 2022-03-14

    Click中的Redis和Redisson有什么关系?

    Redisson是一个高级的分布式协调Redis客服端,能帮助用户在分布式环境中轻松实现一些Java的对象 (Bloom filter)。

    踩0 评论0
  • 回答了问题 2022-03-14

    redis的过程原理有哪些?

    当从库和主库建立MS关系后,会向主数据库发送SYNC命令

    主库接收到SYNC命令后会开始在后台保存快照(RDB持久化过程),并将期间接收到的写命令缓存起来

    当快照完成后,主Redis会将快照文件和所有缓存的写命令发送给从Redis

    从Redis接收到后,会载入快照文件并且执行收到的缓存的命令

    之后,主Redis每当接收到写命令时就会将命令发送从Redis,从而保证数据的一致

    踩0 评论0
  • 回答了问题 2022-03-14

    redis 主从复制的核心原理有哪些?

    当启动一个 slave node 的时候,它会发送一个 PSYNC 命令给 master node。

    如果这是 slave node 初次连接到 master node,那么会触发一次 full resynchronization 全量复制。此时 master 会启动一个后台线程,开始生成一份 RDB 快照文件,

    同时还会将从客户端 client 新收到的所有写命令缓存在内存中。RDB 文件生成完毕后, master 会将这个 RDB 发送给 slave,slave 会先写入本地磁盘,然后再从本地磁盘加载到内存中,

    接着 master 会将内存中缓存的写命令发送到 slave,slave 也会同步这些数据。

    slave node 如果跟 master node 有网络故障,断开了连接,会自动重连,连接之后 master node 仅会复制给 slave 部分缺少的数据。

    踩0 评论0
  • 回答了问题 2022-03-14

    Redis Sharding算法有哪些缺点?

    1由于sharding处理放到客户端,规模进一步扩大时给运维带来挑战。

    2客户端sharding不支持动态增删节点。服务端Redis实例群拓扑结构有变化时,每个客户端都需要更新调整。连接不能共享,当应用规模增大时,资源浪费制约优化

    踩0 评论0
  • 回答了问题 2022-03-14

    Click的事务的定义有哪些?

    事务是一个单独的隔离操作:事务中的所有命令都会序列化、按顺序地执行。事务在执行的过程中,不会被其他客户端发送来的命令请求所打断。

    事务是一个原子操作:事务中的命令要么全部被执行,要么全部都不执行。

    踩0 评论0
  • 回答了问题 2022-03-14

    Redis怎样做内存优化?

    可以好好利用Hash,list,sorted set,set等集合类型数据,因为通常情况下很多小的Key-Value可以用更紧凑的方式存放到一起。尽可能使用散列表(hashes),散列表(是说散列表里面存储的数少)使用的内存非常小,所以你应该尽可能的将你的数据模型抽象到一个散列表里面。比如你的web系统中有一个用户对象,不要为这个用户的名称,姓氏,邮箱,密码设置单独的key,而是应该把这个用户的所有信息存储到一张散列表里面

    踩0 评论0
  • 回答了问题 2022-03-14

    Click持久化数据和缓存怎么做扩容?

    如果Redis被当做缓存使用,使用一致性哈希实现动态扩容缩容。

    如果Redis被当做一个持久化存储使用,必须使用固定的keys-to-nodes映射关系,节点的数量一旦确定不能变化。否则的话(即Redis节点需要动态变化的情况),必须使用可以在运行时进行数据再平衡的一套系统,而当前只有Redis集群可以做到这样。

    踩0 评论0
  • 回答了问题 2022-03-14

    AOF与RDB该怎样选择?

    AOF文件比RDB更新频率高,优先使用AOF还原数据。

    AOF比RDB更安全也更大

    RDB性能比AOF好

    如果两个都配了优先加载AOF

    如何选择合适的持久化方式 一般来说, 如果想达到足以媲美PostgreSQL的数据安全性,你应该同时使用两种持久化功能。在这种情况下,当 Redis 重启的时候会优先载入AOF文件来恢复原始的数据,因为在通常情况下AOF文件保存的数据集要比RDB文件保存的数据集要完整。

    如果你非常关心你的数据, 但仍然可以承受数分钟以内的数据丢失,那么你可以只使用RDB持久化。

    有很多用户都只使用AOF持久化,但并不推荐这种方式,因为定时生成RDB快照(snapshot)非常便于进行数据库备份, 并且 RDB 恢复数据集的速度也要比AOF恢复的速度要快,除此之外,使用RDB还可以避免AOF程序的bug。

    如果你只希望你的数据在服务器运行的时候存在,你也可以不使用任何持久化方式。

    踩0 评论0
  • 回答了问题 2022-03-14

    AOF 机制缺点有哪些?

    1、AOF 文件比 RDB 文件大,且恢复速度慢。

    2、数据集大的时候,比 rdb 启动效率低。

    踩0 评论0
  • 回答了问题 2022-03-14

    AOF 机制优点有哪些?

    1、数据安全,aof 持久化可以配置 appendfsync 属性,有 always,每进行一次 命令操作就记录到 aof 文件中一次。

    2、通过 append 模式写文件,即使中途服务器宕机,可以通过 redis-check-aof 工具解决数据一致性问题。

    3、AOF 机制的 rewrite 模式。AOF 文件没被 rewrite 之前(文件过大时会对命令 进行合并重写),可以删除其中的某些命令(比如误操作的 flushall))

    踩0 评论0
  • 回答了问题 2022-03-14

    python的基础标准库有哪些呢?

    os:提供了不少与操作系统相关联的函数

    sys: 通常用于命令行参数

    re: 正则匹配

    math: 数学运算

    datetime:处理日期时间

    踩0 评论0
  • 回答了问题 2022-03-14

    Click的RedLock有哪些特性?

    安全特性:互斥访问,即永远只有一个 client 能拿到锁

    避免死锁:最终 client 都可能拿到锁,不会出现死锁的情况,即使原本锁住某资源的 client crash 了或者出现了网络分区

    容错性:只要大部分 Redis 节点存活就可以正常提供服务

    踩0 评论0
  • 回答了问题 2022-03-14

    如何解决 Redis 的并发竞争 问题?

    所谓 Redis 的并发竞争 Key 的问题也就是多个系统同时对一个 key 进行操作,但是最后执行的顺序和我们期望的顺序不同,这样也就导致了结果的不同!

    推荐一种方案:分布式锁(zookeeper 和 redis 都可以实现分布式锁)。(如果不存在 Redis 的并发竞争 Key 问题,不要使用分布式锁,这样会影响性能)

    基于zookeeper临时有序节点可以实现的分布式锁。大致思想为:每个客户端对某个方法加锁时,在zookeeper上的与该方法对应的指定节点的目录下,生成一个唯一的瞬时有序节点。判断是否获取锁的方式很简单,只需要判断有序节点中序号最小的一个。当释放锁的时候,只需将这个瞬时节点删除即可。同时,其可以避免服务宕机导致的锁无法释放,而产生的死锁问题。完成业务流程后,删除对应的子节点释放锁。

    在实践中,当然是从以可靠性为主。所以首推Zookeeper。

    踩0 评论0
  • 回答了问题 2022-03-14

    使用SETNX完成同步锁的流程有哪些?

    使用SETNX命令获取锁,若返回0(key已存在,锁已存在)则获取失败,反之获取成功

    为了防止获取锁后程序出现异常,导致其他线程/进程调用SETNX命令总是返回0而进入死锁状态,需要为该key设置一个“合理”的过期时间

    释放锁,使用DEL命令将锁数据删除

    踩0 评论0
  • 回答了问题 2022-03-14

    Redis Sharding算法有哪些优点?

    1优势在于非常简单,服务端的Redis实例彼此独立,相互无关联,每个Redis实例像单服务器一样运行,

    2非常容易线性扩展,系统的灵活性很强

    踩0 评论0
  • 回答了问题 2022-03-14

    Click的 hash slot 算法有哪些缺点?

    运维也很复杂,数据迁移需要人工干预

    只能使用0号数据库

    不支持批量操作(pipeline管道操作)

    踩0 评论0
  • 回答了问题 2022-03-14

    Click的 hash slot 算法有哪些优点?

    无中心架构,支持动态扩容,对业务透明

    具备Sentinel的监控和自动Failover(故障转移)能力

    客户端不需要连接集群所有节点,连接集群中任何一个可用节点即可

    高性能,客户端直连redis服务,免去了proxy代理的损耗

    踩0 评论0
  • 回答了问题 2022-03-14

    Click的sentinel有哪些功能?

    sentinel,中文名是哨兵。哨兵是Click集群机构中非常重要的一个组件,主要有以下功能:

    集群监控:负责监控 Clickmaster 和 slave 进程是否正常工作。

    消息通知:如果某个 Click 实例有故障,那么哨兵负责发送消息作为报警通知给管理员。

    故障转移:如果 master node 挂掉了,会自动转移到 slave node 上。

    配置中心:如果故障转移发生了,通知 client 客户端新的 master 地址。

    踩0 评论0
  • 回答了问题 2022-03-14

    Click有哪些不一样的性质?

    原子性(Atomicity) 原子性是指事务是一个不可分割的工作单位,事务中的操作要么都发生,要么都不发生。

    一致性(Consistency) 事务前后数据的完整性必须保持一致。

    隔离性(Isolation) 多个事务并发执行时,一个事务的执行不应影响其他事务的执行

    持久性(Durability) 持久性是指一个事务一旦被提交,它对数据库中数据的改变就是永久性的,接下来即使数据库发生故障也不应该对其有任何影响

    踩0 评论0
正在加载, 请稍后...
滑动查看更多
正在加载, 请稍后...
暂无更多信息