Redis
文章平均质量分 53
对这是我的昵称
为什么要写简介
展开
-
哨兵模式详解
内容简介哨兵,也可以理解为巡逻兵,当发现敌情的时候,会报告给总部,然后总部来处理敌情。所以,哨兵模式也就是有一个单独执行的任务,这个任务就一直盯着主机,一旦主机挂掉,就立马通知从机,然后从机通过选举的方式,选出一个得票最高的从机来担任主机。实现新建一个哨兵的配置文件,随便起一个名字,比如sentinel.conf,在文件中写入一行命令: 1 sentinel monitor mySentinel 127.0.0.1 6379 1 命令解释原创 2021-11-11 10:31:32 · 3422 阅读 · 0 评论 -
主从复制详解
内容简介Redis主从复制,顾名思义,把主机的数据复制到从机,主机用来写入数据,从机用来读取数据,从而达到读写分离的效果,目的是减轻主机的读取压力,提升系统性能。思考一既然是主从复制,那就肯定需要至少两台机子,才能实现一主一仆的效果,那也就是说需要启动两个redis服务,怎么才能做到启动两个redis服务呢?既然有主有仆,那么怎么指定主机和从机呢?既然从机是用来读取数据的,那么从机是否可以写入数据呢?答案1、开启多个redis服务的方法redis有一个默认配置文件redis.原创 2021-11-12 19:06:14 · 115 阅读 · 0 评论 -
GEO详解
内容简介Redis GEO主要用于管理地理信息,比如储存位置坐标,计算距离,获取指定范围内的地理位置信息。命令 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 127.0.0.1:6379> geoadd location 1原创 2021-11-12 19:06:05 · 503 阅读 · 0 评论 -
Redis事务和Mysql事务的区别
Redis事务默认状态未开启,执行步骤:multi 开启事务 exec 执行事务 discard 取消事务特点:单独的隔离操作,事务会按照顺序执行,不会被客户端的其它请求干扰 由于redis的事务只是把命令放到了队列里,并没有执行,而是等到最后一起执行,从而事务间就不会导致数据脏读、不可重复读、幻读的问题,所以也就没有隔离级别的概念 执行事务时,如果有语法错误,事务不会执行 不具备原子性,执行事务时,如果有命令执行失败,事务会继续执行,不会执行回滚操作,不会影响后续的操作Mysql原创 2021-11-12 19:05:55 · 1129 阅读 · 0 评论 -
Redis乐观锁
内容简介Redis的乐观锁主要用watch命令实现,当watch命令监视某个值的时候,那么事务在执行之前就会检测该值是否已发生改变,如果在事务执行前该值已被修改,则事务不会执行。命令 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051原创 2021-11-12 19:06:22 · 95 阅读 · 0 评论 -
Redis事务
内容简介Redis事务可以一次执行多个命令,主要有以下三个步骤:(1)multi,开启事务(2)把命令全部存入队列中(3)exce,执行队列中的所有命令有三个特点:(1)在exce执行命令前,所有命令会被放入队列缓存(2)如果执行命令中,有命令执行失败,其它的命令会继续执行,不受影响,但如果是语法错误,则所有命令都不会执行(3)在事务执行过程中,其它客户端提交的命令请求无法插入到事务执行命令序列中命令 12345678910111213原创 2021-11-11 10:32:30 · 88 阅读 · 0 评论 -
发布与订阅
内容简介Redis发布与订阅消息是一种通信模式,就相当于报社发布报纸,送给订阅报纸的人们一样。命令发布与订阅 123456789101112131415 #发布端127.0.0.1:6379> PUBLISH msg hello #发布hello信息到msg频道上(integer) 1127.0.0.1:6379>#订阅端127.0.0.1:6379> SUBSCRIBE msg #订阅msg这个频道原创 2021-11-12 19:05:41 · 317 阅读 · 0 评论 -
Set集合类型详解
内容简介Redis 的 Set 是 String 类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。集合对象的编码可以是 intset 或者 hashtable。Redis 中集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是 O(1)。集合中最大的成员数为 2^32 - 1 (4294967295, 每个集合可存储40多亿个成员)。命令 12345678910111213141516171819202122原创 2021-11-11 10:32:13 · 443 阅读 · 0 评论 -
HyperLogLog详解
内容简介Redis HyperLogLog是用来做基数统计的算法优点当输入元素的数量或者体积非常非常大时,计算基数只需要占用很小的空间即可完成。每个HyperLogLog键只需要花费12kb内存,就可以计算接近2^64个不同元素的基数,这和计算基数时,元素越多耗费内存越大的集合形成鲜明对比。缺点因为HyperLogLog只会根据元素来统计基数,而不会存入元素本身,所以不能像集合那样,返回各个元素。命令 1234567891011原创 2021-11-11 10:32:03 · 414 阅读 · 0 评论 -
有序集合类型详解
内容简介Redis 有序集合和集合一样也是 string 类型元素的集合,且不允许重复的成员。不同的是每个元素都会关联一个 double 类型的分数。redis 正是通过分数来为集合中的成员进行从小到大的排序。有序集合的成员是唯一的,但分数(score)却可以重复。集合中最大的成员数为 232 - 1 (4294967295, 每个集合可存储40多亿个成员)。命令 12345678910111213141516171819202122原创 2021-11-10 15:27:58 · 783 阅读 · 0 评论 -
List列表类型详解
内容简介List,语义列表,是Reids中常用的字符串列表类型,列表按照插入顺序排序,一个列表最多可以包含2^32-1个元素((4294967295, 每个列表超过40亿个元素)。命令 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354原创 2021-11-10 15:26:34 · 944 阅读 · 0 评论 -
String字符串类型详解(下)
隐藏技巧SETRANGE:替换字符串;GETRANGE:获取指定位置字符串; 123456789 127.0.0.1:6379> set k1 v1,helloOK127.0.0.1:6379> setrange k1 2 ww(integer) 8127.0.0.1:6379> get k1"v1wwello"127.0.0.1:6379> getrange k1 2 7"wwello"127.0.0.1:6原创 2021-11-10 15:23:30 · 423 阅读 · 0 评论 -
String字符串类型详解(上)
内容简介String字符串类型是Redis中经常用到的类型,但是90%的程序员基本上都只会set、get,本篇文章就详细讲解一下String字符串的一些基本用法、进阶用法、高阶用法和一些隐藏技巧,希望对大家有用。基本操作Set和Get:写值和取值 123456 D:\language_env\redis>redis-cli.exe127.0.0.1:6379> set k1 v1OK127.0.0.1:6379> get k原创 2021-11-10 15:22:43 · 340 阅读 · 0 评论