
Redis
算盘
喜欢徒步,喜欢读书
展开
-
Redis缓存穿透
--使用bitmaps类型定义一个可以访问的名单,名单id作为bitmaps的偏移量,每次访问和bitmaps里面的id进行比较,如果访问id不在bitmaps里面,进行拦截,不允许访问。---如果一个查询返回的数据为空(不管是数据是否不存在),我们仍然把这个空结果(null)进行缓存,设置空结果的过期时间会很短,最长不超过五分钟。---当发现redis的命中率开始极速降低,需要排查访问对象和访问的数据,和运维人员配合,可以设置黑名单限制服务。2、设置可访问名单(白名单)1、redis查询不到数据。原创 2024-07-03 21:53:16 · 305 阅读 · 0 评论 -
Redis主从复制搭建一主多从
使用 info replication查看当前主机运行状况。2、复制redis.conf配置文件到新建的文件夹中。在从机上执行slaveof 主机IP 端口号。redis6379.conf里面的内容。3、配置一主两从,创建三个配置文件。其他两个文件同上,只需修改数字就行。1、创建/myredis文件夹。4、在三个配置文件写入内容。5、启动三个redis服务。原创 2024-07-01 22:35:51 · 276 阅读 · 0 评论 -
Redis主从复制能干什么?
1、读写分离2、容灾快速恢复。原创 2024-06-28 21:53:09 · 202 阅读 · 0 评论 -
Redis持久化
3、不建议单独用AOF,因为可能会出现Bug。2、如果对数据不敏感,可以选单独用RDB。4、如果只是做纯内存缓存,可以都不用。RDB和AOF的选择使用。1、官方推荐两个都启用。原创 2024-06-28 21:52:34 · 218 阅读 · 0 评论 -
Redis事务三特性
---事务中的所有命令都会序列化、按顺序地执行。事务在执行的过程中,不会被其他客户端发送来的命令请求所打断。----队列中的命令没有提交之前都不会实际被执行,因为事务提交前任何指令都不会被实际执行。----事务中如果有一条命令执行失败,其后的命令仍然会被执行,没有回滚。2、没有隔离级别的概念。原创 2024-06-28 21:50:00 · 325 阅读 · 0 评论 -
RDB和AOF两种持久化机制的介绍
如果redis挂了,服务器上的内存和磁盘上的数据都丢了,可以从云服务上拷贝回来之前的数据,放到指定的目录中,然后重新启动redis,redis就会自动根据持久化数据文件中的数据,去恢复内存中的数据,继续对外提供服务。AOF机制对每条写入命令作为日志,以append-only的模式写入一个日志文件中,在redis重启的时候,可以通过回放AOF日志中的写入指令来重新构建整个数据集。如果同时使用RDB和AOF两种持久化机制,那么在redis重启的时候,会使用AOF来重新构建数据,因为AOF中的数据更加完整。原创 2024-06-13 22:53:11 · 257 阅读 · 0 评论 -
Redis中过期时间
Redis可以使用EXPIRE命令设置一个键的过期时间,到时间后Redis会自动删除它。EXPIRE命令的使用方法为EXPIRE key seconds,其中seconds参数表示键的过期时间,单位是秒。该命令返回1表示设置成功,返回0则表示键不存在或设置失败。想知道一个键还有多久的时间会被删除,可以使用TTL命令。返回值是键的剩余时间(单位是秒)没有为键设置过期时间的情况下回返回-1取消键的过期时间设置,则可以使用PERSIST命令redis>PERSIST key...原创 2021-12-26 20:33:29 · 1507 阅读 · 0 评论 -
有序集合类型(zset)
1、增加元素ZADD key score member [score member...]ZADD命令用来向有序集合中加入一个元素和该元素的份数,如果该元素已经存在则会用心的分数替换原有的分数。ZADD命令的返回值是新加入到集合中的元素个数(不包含之前已经存在的元素)2、获得元素的分数ZSCORE key member3、获得排名在某个范围的元素列表ZRANGE key start stop [WITHSCORES]ZREVRANGE key start stop [WITHSCORES]原创 2021-12-18 13:08:24 · 355 阅读 · 0 评论 -
集合类型(set)
1、添加/删除元素SADD key member [member...]SREM key member [member...]SADD命令用来向集合中增加一个或多个元素,如果键不存在则会自动创建。SADD的返回值是成功加入的元素数量。SREM命令用来从集合中删除一个或多个元素,并返回删除成功的个数。2、获得集合中的所有元素SMEMBERS key3、判断元素是否在集合中SISMEMBER key member当值存在是SISMEMBER命令返回1,当值不存在或键不存在时返回.原创 2021-12-02 23:34:00 · 1130 阅读 · 0 评论 -
列表类型(list)
列表类型(list)可以存储一个有序的字符串列表,常用的操作是向列表两端添加元素,或者获得列表的某一个片段。1、向列表两端增加元素LPUSH key value [value...]RPUSH key value [value...]LPUSH命令用来向列表左边增加元素,返回值表示增加元素后列表的长度redis>LPUSH numbers 1LPUSH命令还支持同时增加多个元素redis>LPUSH numbers 2 3RPUSH命令用来向列表右边增加元素,返回值表示增原创 2021-11-16 17:40:30 · 1349 阅读 · 0 评论 -
散列类型(hash)
散列类型适合存储对象:使用对象类别和ID构成键名,使用字段类别和ID构成键名,使用字段表示对象的属性,而字段值则存储属性值。1、赋值与取值HSET key field valueHGET key fieldHMSET key field value [field value...]HMGET key field [field...]HGETALL keyHSET命令用来给字段赋值,HGET命令用来获得字段的值。redis>HSET car price 500redis>HS原创 2021-11-07 17:37:22 · 268 阅读 · 0 评论 -
字符串类型
1、介绍字符串类型是Redis中最基本的数据类型,它能存储任何形式的字符串,包括二进制数据。一个字符串类型键允许存储的数据的最大容量是512MB。2、命令2.1 赋值与取值SET key valueGET key2.2 递增数字INCR key2.3 增加指定的整数INCRBY key increment2.4 减少指定的整数DECR keyDECRBY key decrement2.5 增加指定浮点数INCRBYFLOAT key increment2.6 向.原创 2021-10-17 21:28:01 · 188 阅读 · 0 评论 -
Redis数据库
Redis客户端与Redis建立连接后会自动选择0号数据库,可以随时使用SELECT命令更换数据库,如要选择1号数据库:redis>SELECT 1OK1、查看所有的键:KEYS *2、判断一个键是否存在EXISTS key,如果键存在返回整数类型1,否则返回0。3、删除键DEL key [key...]可以删除一个或多个键,返回值是删除的键的个数。4、获得键值的数据类型TYPE keyTYPE命令用来获得键值的数据类型,返回值可能是string(字符串类型)、hash原创 2021-10-07 15:08:47 · 142 阅读 · 0 评论 -
Redis命令返回值
1、状态回复(status reply)是最简单的一种回复例如:redis>PINGPONG2、错误回复当出现命令不存在或命令格式有错误等情况时Redis会返回错误回复(error reply)。错误回复以(error)开头,并在后面跟上错误信息。例如:redis>ERRORCOMMEND(error)ERR unknown command3、整数回复Redis虽然没有整数类型,但是却提供了一些用于整数操作的命令,如递增键值的INCR命令会以整数形式返回递增后的键值。整数回复原创 2021-10-01 08:45:49 · 1631 阅读 · 0 评论 -
Redis简介
Remote Dictionary Server(远程字典服务)1、方便扩展2、大数据量高性能3、数据类型的多样性4、分布式存储原创 2021-09-27 11:16:22 · 102 阅读 · 0 评论