
缓存中间件
博主学习缓存中间件的记录与总结
ITKaven
ACMER
本科软件工程专业
硕士计算机技术专业
专注于WEB开发的烟酒僧
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Redis:HyperLogLog之PFADD、PFCOUNT、PFMERGE命令介绍
Redis - HyperLogLog的PFADD、PFCOUNT、PFMERGE命令介绍HyperLogLog是什么Redis在2.8.9版本添加了HyperLogLog结构。Redis HyperLogLog是用来做基数统计的算法,HyperLogLog的优点是,在输入元素的数量或者体积非常非常大时,计算基数所需的空间总是固定的,并且是很小的。在Redis里面,每个HyperLogLog键只需要花费12KB内存,就可以计算接近2^64个不同元素的基 数。这和计算基数时,元素越多耗费内存就越多的集原创 2020-12-02 10:22:46 · 2954 阅读 · 0 评论 -
Redis:有序集ZRANGE、ZREVRANGE、ZRANGEBYSCORE、ZREVRANGEBYSCORE、ZRANK合、ZREVRANK命令介绍
Redis学习(十五) - 有序集ZRANGE、ZREVRANGE、ZRANGEBYSCORE、ZREVRANGEBYSCORE、ZRANK合、ZREVRANK命令介绍ZRANGEZRANGE key start stop [WITHSCORES]可用版本: >= 1.2.0时间复杂度: O(log(N)+M), N 为有序集的基数,而 M 为结果集的基数。返回有序集key中,在指定区间内的成员。其中成员的位置按score值从小到大来排序。具有相同score值的成员按字典序来排序。下标原创 2020-12-01 11:08:48 · 7799 阅读 · 0 评论 -
Redis:有序集合ZADD、ZSCORE、ZINCRBY、ZCARD、ZCOUNT命令介绍
Redis学习(十四) - 有序集合ZADD、ZSCORE、ZINCRBY、ZCARD、ZCOUNT命令介绍ZADDZADD key [NX|XX] [CH] [INCR] score member [score member ...] 可用版本: >= 1.2.0时间复杂度: O(M*log(N)), N 是有序集的基数, M 为成功添加的新成员的数量。将一个或多个member元素及其score值加入到有序集key当中,并且以score值的大小来确定member元素在有序集key中的位原创 2020-11-27 12:00:24 · 8583 阅读 · 0 评论 -
Redis:集合SINTER、SINTERSTORE、SUNION、SUNIONSTORE、SDIFF、SDIFFSTORE命令介绍
Redis学习(十三) - 集合命令介绍SINTERSINTER key [key …]可用版本: >= 1.0.0时间复杂度: O(N * M), N 为给定集合当中基数最小的集合, M 为给定集合的个数。返回所有给定集合的交集。不存在的key会被视为空集。演示当给定的key中有不存在或者是空集的情况时,根据集合运算定律,结果很显然也为空集。127.0.0.1:6379> scard set(integer) 23127.0.0.1:6379> scard set原创 2020-11-26 11:42:11 · 2079 阅读 · 0 评论 -
Redis:集合SADD、SISMEMBER、SPOP、SRANDMEMBER、SREM、SMOVE、SCARD、SMEMBERS、SSCAN命令介绍
Redis学习(十二) - 集合SADD、SISMEMBER、SPOP、SRANDMEMBER、SREM、SMOVE、SCARD、SMEMBERS、SSCAN命令介绍SADDSADD key member [member …]可用版本: >= 1.0.0时间复杂度: O(N), N 是被添加的元素的数量。将一个或多个member元素加入到集合key当中,已经存在于集合的member元素将被忽略(集合中的元素各不相同)。演示当key不存在时,会先创建一个空集合,再执行SADD命令将这些原创 2020-11-26 10:15:32 · 5572 阅读 · 0 评论 -
Redis:列表RPOPLPUSH、BLPOP、BRPOP、BRPOPLPUSH命令介绍
Redis学习(十一) - 列表RPOPLPUSH、BLPOP、BRPOP、BRPOPLPUSH命令介绍RPOPLPUSHRPOPLPUSH source destination可用版本: >= 1.2.0时间复杂度: O(1)RPOPLPUSH命令是一个原子命令,在一个原子时间内,会执行以下两个动作(都执行成功或者都执行失败):将列表source中的表尾元素弹出,并返回给客户端。将列表source弹出的表尾元素插入到列表destination的表头位置。演示RPOPLPUS原创 2020-11-25 10:55:23 · 5042 阅读 · 0 评论 -
Redis:列表LREM、LLEN、LINDEX、LINSERT、LSET、LRANGE、LTRIM命令介绍
Redis学习(十) - 列表LREM、LLEN、LINDEX、LINSERT、LSET、LRANGE、LTRIM命令介绍LREMLREM key count value可用版本: >= 1.0.0时间复杂度: O(N), N 为列表的长度。根据参数count的值,移除列表中与参数value相等的元素。演示先push一些值进去。127.0.0.1:6379> lpush list kaven jojo java kaven docker redis kaven vue kav原创 2020-11-24 11:19:56 · 3735 阅读 · 0 评论 -
Redis:列表LPUSH、LPUSHX、RPUSH、RPUSHX、LPOP、RPOP命令介绍
Redis学习(九) - 列表命令介绍LPUSHLPUSH key value [value …]可用版本: >= 1.0.0时间复杂度: O(1)将一个或多个值value插入到列表key的表头,并且各个值value按从左到右的顺序依次插入。演示如果key不存在,一个空列表key会被创建并执行LPUSH操作。对空列表key执行命令LPUSH key a b c,列表的值将是c b a,等同于执行LPUSH key a 、LPUSH key b和LPUSH key c三个命令。执行LP原创 2020-11-23 10:20:49 · 10751 阅读 · 2 评论 -
Redis:哈希表HLEN、HSTRLEN、HINCRBY、HINCRBYFLOAT、HSCAN命令介绍
Redis学习(八) - 哈希表命令介绍HLENHLEN key时间复杂度:O(1)返回哈希表key中域的数量。演示当哈希表key不存在时,返回 0。HSTRLENHSTRLEN key field可用版本:>= 3.2.0时间复杂度:O(1)返回哈希表key中给定域field对应的字符串长度。演示如果给定的哈希表key或者域field不存在, 那么命令返回 0 。HINCRBYHINCRBY key field increment可用版本:>原创 2020-11-22 19:47:52 · 3621 阅读 · 1 评论 -
Redis:哈希表HSET、HSETNX、HGET、HEXISTS、HMSET、HMGET、HKEYS、HVALS、HGETALL、HDEL命令介绍
Redis学习(七) - 哈希表命令介绍HSETHSET hash field value可用版本: >= 2.0.0时间复杂度: O(1)将哈希表hash中域field的值设置为value。演示如果给定的哈希表并不存在, 那么一个新的哈希表将被创建并执行HSET操作。当HSET命令在哈希表中新创建 field域并成功为它设置值时, 命令返回 1 。如果域field已经存在于哈希表中, 那么它的旧值将被新值value覆盖,并且HSET命令返回 0 。HSETNXHSETNX原创 2020-11-21 21:05:21 · 5884 阅读 · 1 评论 -
Redis:位图SETBIT、GETBIT、BITCOUNT、BITPOS、BITOP命令介绍
Redis学习(六) - 位图SETBIT、GETBIT、BITCOUNT、BITPOS、BITOP命令介绍SETBITSETBIT key offset value可用版本:>= 2.2.0时间复杂度: O(1)对键key对应的位图(其实是字符串,只不过该字符串的每一位都是字符0或者字符1,下面都叫它位图),设置或清除指定偏移量上的位(bit),位的设置或清除取决于value的值,它可以是0,也可以是1。演示当键key不存在时,会自动生成一个位图。如果偏移量大于键key对应的位图长原创 2020-11-20 14:29:22 · 5488 阅读 · 1 评论 -
Redis:字符串MSET、MSETNX、MGET命令介绍
Redis学习(五) - 字符串MSET、MSETNX、MGET命令介绍MSETMSET key value [key value …]可用版本: >= 1.0.1时间复杂度: O(N),其中 N 为被设置的键数量。同时为多个键key设置值。演示如果某个给定键key已经存在, 那么MSET命令将使用新值覆盖掉旧值。MSET命令总是返回 OK 。MSET命令是一个原子(atomic)操作, 所有给定键key都会在同一时间内被设置, 不会出现某些键key被设置了,而有一些键key没原创 2020-11-20 11:11:46 · 6836 阅读 · 1 评论 -
Redis:字符串INCR、INCRBY、INCRBYFLOAT、DECR、DECRBY命令介绍
Redis学习(四) - 字符串命令介绍INCRINCR key可用版本: >= 1.0.0时间复杂度: O(1)为键key对应的数字字符串(整数)加上一。演示如果键key不存在, 那么它的值会先被初始化为 0 , 然后再执行INCR命令。INCR命令会返回键key对应的数字字符串转换成数字后,再执行加一操作之后的值。如果键key对应的字符串不能被解释成数字, 那么INCR命令将返回一个错误。INCR命令是一个针对字符串的操作。 因为Redis并没有专用的整数类型, 所以键原创 2020-11-19 22:25:18 · 9651 阅读 · 0 评论 -
Redis:字符串STRLEN、APPEND、SETRANGE、GETRANGE命令介绍
Redis学习(三) - 字符串命令介绍STRLENSTRLEN key可用版本: >= 2.2.0复杂度: O(1)返回键 key 储存的字符串的长度。演示STRLEN命令返回键key对应字符串的长度。当键key不存在时, 命令返回 0 。当键key对应的不是字符串时, 返回一个错误。APPENDAPPEND key value可用版本: >= 2.0.0时间复杂度: 平摊O(1)演示如果键key已经存在,并且对应的值是一个字符串, APPEND命令原创 2020-11-19 20:50:09 · 1261 阅读 · 0 评论 -
Redis汇总
RedisRedis学习(一) - Windows & Centos下安装RedisRedis学习(二) - 字符串SET、SETNX、SETEX、PSETEX、GET、GETSET命令介绍未完待续扩展阅读Spring Boot使用Jedis实现分布式锁Redis启动报错 Creating Server TCP listening socket 127.0.0.1:6379: bind: No errorCentos7.3安装Redis6.0.9 - make时报错 make[1原创 2020-11-19 18:09:33 · 1842 阅读 · 35 评论 -
Spring Boot:使用Jedis实现分布式锁
Spring Boot使用Jedis实现分布式锁在单机应用中通过使用synchronized关键字、JUC的Lock来实现线程安全是没问题的,但在分布式环境中就有可能出现问题,因为这些同步机制、锁是不能跨机器的,所以实现分布式锁就有很必要。首先创建两个Spring Boot项目。pom.xml(两个项目都一样):<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0原创 2020-11-03 09:34:52 · 3174 阅读 · 4 评论 -
Redis:make[1]: *** [server.o] Error 1...make: *** [install] Error 2
具体如下图所示:原因是因为gcc版本过低,因此需要升级gcc,升级过程如下:yum -y install centos-release-sclyum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutilsscl enable devtoolset-9 bashecho "source /opt/rh/devtoolset-9/enable" >> /etc/profilegcc -v原创 2020-11-19 10:41:59 · 5014 阅读 · 0 评论 -
Redis:字符串SET、SETNX、SETEX、PSETEX、GET、GETSET命令介绍
Redis学习(二) - 字符串SET、SETNX、SETEX、PSETEX、GET、GETSET命令介绍SETSET key value [EX seconds] [PX milliseconds] [NX|XX]可用版本: >= 1.0.0时间复杂度: O(1)将字符串值value关联到 key 。如果key已经持有其他值, SET会覆盖掉旧值。当SET命令对一个带有生存时间(TTL)的键进行设置之后, 该键原有的 TTL 将被清除。这些在演示中会进行说明。可选参数从Redis原创 2020-11-19 17:59:35 · 9865 阅读 · 5 评论 -
Redis:Windows & CentOS下安装Redis
Redis学习(一) - Windows & Centos下安装RedisWindows下载地址:Redis - Windows目前是Redis 5.0.10 for Windows,我个人喜欢用zip文件进行安装。下载zip文件,再解压即可。会有以下文件。点击redis-server.exe,得到下图,说明启动成功。或者将Redis的路径添加到环境变量中。直接在cmd中输入redis-server即可启动。点击redis-cli.exe进行连接(启动成功的前提下)。原创 2020-11-19 10:57:07 · 1066 阅读 · 2 评论 -
Redis:Creating Server TCP listening socket 127.0.0.1:6379: bind: No error
千万不要弄错了:redis-server.exe redis.windows.conf。我之前复制了其他博客的 redis-server.exe redis-windows.conf ,弄的我很绝望啊。出现下图错误的原因,我觉得是 6379 端口被占用了(如果有说错,请指正,万分感谢)。解决:运行 redis-cli.exe,shutdown,报错:(error)NOAUTH Authe...原创 2019-01-01 18:46:58 · 6084 阅读 · 0 评论