redis
文章平均质量分 89
Redis学习示例
姜小白-
Java开发,项目管理,打杂,啥都做
展开
-
缓存预热、击穿、雪崩、更新
缓存更新指在数据发生前变化后,及时将变化后的数据更新到缓存中,常见的缓存更新策略有以下4种。定时更新:是将底层数据库内的数据更新到缓存中,该方法比较简单,适合需要缓存的数据量不是很大的应用场景。过期更新:定时将缓存中过去的数据更新为最新数据,并更新缓存的过期时间。写请求更新:在用户有写请求时,先写数据库同时更新缓存,这适用于用户对缓存数据和数据库的数据有实时强一致性要求的情况。读请求更新:在用户有读请求时,先判断该请求数据的缓存是否过期或存在,如果不存在或已过期,则进行底层数据库查询,并将查询结原创 2021-03-28 23:15:33 · 254 阅读 · 0 评论 -
Redis中字符串(string)与散列表(hash)比较
前面的博文Redis字符串(string)使用和Redis散列表(hash)使用中,可以看到,字符串中有set、setnx、get、incrbyhe、incrbyfloat命令,散列表中有对应的hset、hsetnx、hget、hincrby、hincrbyfloat命令,如此来看,字符串和散列表确实有很多功能相似的命令。字符串 散列表 set - 为一个字符串键设置值 hset - 为散列表给定的字段设置值 setnx - 仅在字符串键不存在的时候为它设置值 hsetnx -原创 2021-02-19 17:37:53 · 2157 阅读 · 1 评论 -
Redis对象自动过期
expire命令和pexpire命令可以为键设置生存时间,当键的生存时间随着时间的流逝而消逝殆尽时,键就会被移除;对已经带有生存时间的键执行expire命令或pexpire命令,将导致键已有的生存时间被新的生存时间替代;为了方便用户,Redis给set命令增加了ex和px选项,它们可以让用户在执行set命令的同时,执行expire命令或pexpire命令;expireat命令和pexpireat命令可以为键设置Unix时间戳格式的过期时间,当系统时间超过这个过期时间时,键就会被移除原创 2021-02-19 14:41:47 · 819 阅读 · 0 评论 -
Redis有序集合(sorted set)使用
有序集合(sorted set)同时拥有“有序” 和 “集合”两种性质,集合性质保证有序集合只会包含各不相同的成员,而有序性质则保证了有序集合中的所有成员都会按照特定的顺序进行排列;在一般情况下,有序集合成员的大小由分值决定,而分值相同的成员的大小则由成员在字典序中的大小决定;成员的分值除了可以是数字外,还可以是表示无穷大的 +inf 或者表示无穷小的 -inf ;zadd命令,可以通过给定可选项类决定执行添加操作或是执行更新操作;因为Redis只提供了对成员分值执行加法计算的zincrby命令,没原创 2021-02-18 18:24:18 · 8650 阅读 · 0 评论 -
Redis集合(set)使用
Redis的集合(set)允许用户将任意多个不相同的元素存储到集合中,这些元素既可以是文本数据也可以是二进制数据。前面说过列表也允许存储多个元素,但集合与列表有以下两点明显不同:列表可以存储重复元素,而集合只会存储非重复元素。尝试将一个已存在的元素添加到集合,将会被忽略;二列表以有序方式存储元素而集合以无序方式存储元素。这两个差异带来的区别主要跟命令的复杂度有关系:在执行项linsert和lrem这样的列表命令时,即使命令只针对单个列表元素程序有时也不得不遍历整个列表已确定指定的元素是否存在,因此这原创 2021-02-12 18:16:11 · 7985 阅读 · 5 评论 -
Redis列表(list)阻塞命令说明
上一篇文章Redis列表(list)使用中介绍的命令,都是会立即到数据库中进行操作处理,并返回结果信息,均为非阻塞式命令。Redis的列表中有3个阻塞式命令,blpop(阻塞式左端弹出操作)、brpop(阻塞式右端弹出操作)和brpoplpush(阻塞式弹出并推入操作)命令。阻塞式命令,顾名思义,命令执行过程中会产生阻塞效果。具体情况,下面来看。blpop:阻塞式左端弹出操作blpop命令是带有阻塞式功能的左端弹出操作,它接受任意多个列表以及一个秒级精度的超时时间作为参数blpop list..原创 2021-02-09 23:58:47 · 3198 阅读 · 0 评论 -
Redis列表(list)使用
Redis的列表是一种线性的有序结构,可以按照元素推入列表中的顺序来存储元素,并且列表中的元素可以重复出现;用户可以使用lpush、rpush、rpop、lpop等命令,从列表的两端推入或者弹出元素,也可以通过linsert命令将新元素插入列表已有元素的前面或者后面;用户可以使用lrem命令从列表中移除指定的元素,或者使用ltrim命令对列表进行修剪;使用lrange命令查看列表指定索引范围内元素信息,使用lrange查看列表所有元素;当用户传给lrange命令的索引范围超出了列表原创 2021-02-08 14:26:26 · 10166 阅读 · 0 评论 -
Redis散列表(hash)使用
Redis的散列(hash)表会将一个键和一个散列表在数据库中关联起来,用户可以在散列表中为任意多个字设置值。与字符键一样,散列的字段和值既可以是文本数据,可以是二进制数据。通过使用散列表,用户可以把相关联的多项数据存储到同一个散列里面,以便对这些数据进行管理,或者针对他们进行批量操作。与之前使用字符串键存储文章数据的做法相比,使用散列存储文章数据只需要在数据库里面创建一个键,并且因为散列的字段名不需添加任何前缀,所以他们可以直接反映字段值存储的是什么数据。Redis为散列舰提供了一原创 2021-02-05 18:07:09 · 4475 阅读 · 0 评论 -
Redis字符串(string)使用
string键值对是Redis最常用的数据结构之一。Redis的字符串键可以把单独的一个键和单独的一个值在数据库中关联起来,并且这个键和值既可以存储文字数据,又可以存储二进制数据;set命令在默认情况下会直接覆盖字符串键已有的值,如果我们只想在键不存在的情况下为它设置值,可以使用带有nx选项的set命令;相反,如果我们只想在键已经存在的情况下为它设置值,那么可以使用带有xx选项的set命令;使用mset、msetnx以及mget命令可以有效地减少程序的网络通信次数,从而提升程序执行效率原创 2021-02-04 18:24:24 · 1873 阅读 · 0 评论 -
Java连接redis简单demo示例
Windows版redis服务器设置Windows版redis的下载通常有msi版和解压缩版,我们这里使用解压缩版打开解压缩版压缩包,将redis目录拷贝到C盘根目录下,修改里面配置文件redis.windows.conf找到maxmemory项-最大内存,修改值为 1024000000 大约1G内存找到requirepass项-登录密码,修改值为123456然后 打开...原创 2018-10-24 20:24:58 · 7878 阅读 · 7 评论