首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

redis数据类型详解(redis数据类型及常用方法)

文章目录 简介 概述 常用数据类型 String类型操作实践 incr/incrby decr/decrby append strlen mset/mget 小节面试分析 Hash类型应用实践 hset...常用数据类型 Reids中基础数据结构包含字符串、散列,列表,集合,有序集合。工作中具体使用哪种类型要结合具体场景。...经常用于实现热销榜,最新评论等的设计。...(lpush/rpop) 如何基于redis实现一个栈结构?(lpush/lpop) 如何基于redis实现一个阻塞式队列?(lpush/brpop) 如何实现秒杀活动的公平性?...总结(Summary) 本章节主要是对redis中的常用数据类型存储结构,基本操作进行了分析和实践,结合指令特性理解其应用场景, 发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn

69820

redis常用指令

最近在学习非关系型数据库redis,来总结一下redis常用的指令吧,比较简单,就当做自己敲打一遍加深一下印象吧。...redis支持5种存储类型,今天先介绍着5种类型的基本操作吧 一,字符串 字符串可以存储以下3中类型的值 1、字节串 2、整数 3、浮点数 (1)自增和自减命令 INCR/DECR:INCR/DECR...source-key包含元素item,那么从集合source-key里面移除元素item,并将元素添加到集合dest-key中,如果item被成功移除,则返回1,否则返回0 用于组合和处理多个集合的redis...hdel hdel key-name key [key …] —删除散列里面得一个或多个键值对,返回成功找到并删除键值对得数量 3)hlen hlen key-name —返回散列包含得键值对得数量 redis

48920

RedisRedis常用命令

实例之间进行数据迁移的功能,整个迁移的过程分为两步; 1)在源redis上,dump命令会将键值序列化,格式采用的是RDB格式 2)在目标redis上,restore命令将上面序列化的值进行复原,其中ttl...参数代表过期时间,ttl=0代表没有过期时间 例子: 源redis 192.168.225.129:6379> get redis "world" 192.168.225.129:6379> dump...redis "\x00\x05world\a\x00\xe6\xe3\xe9w\xd8c\xa7\xd8" 目标redis 192.168.225.128:6379> get redis (nil) 192.168.225.128...:6379> restore redis 0 "\x00\x05world\a\x00\xe6\xe3\xe9w\xd8c\xa7\xd8" OK 192.168.225.128:6379> get redis...、阻塞操作 blpop key [key ...] timeout brpop key [key ...] timeout blpop和brpop是lpop、rpop的阻塞版本,除了弹出方式不同,使用方法基本相同

95020

Redis常用技术----事务

一、事务 Redis的事务是使用MULTI-EXEC的命令组合,使用它可以提供两个重要的保证: 事务是一个被隔离的操作,事务中的方法都会被Redis进行序列化并按顺序执行,事务在执行的过程中不会被其他客户端发生的命令所打断...在Redis中使用事务会经过三个过程: 开启事务 命令进入队列 执行事务 ?...; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.core.SessionCallback...Redis参考了多线程中使用的CAS(比较与交换)去执行的。CAS原理会产生ABA问题 ? 上面表格显示的就是ABA问题。 仅仅记录一个旧值去比较是不足够的,还要通过其他方法避免ABA问题。...Redis在执行事务的过程中,不会阻塞其他连接的并发,而只是通过比较watch监控的键值对去保证数据的一致性,所以多个Redis事务完全可以在非阻塞的多线程环境中并发执行,而且Redis的事务是不会产生

42420

Redis 开发常用规范

使用规范 1、冷热数据分离,不要将所有数据全部都放到Redis中 虽然Redis 支持持久化,但是Redis的数据存储全部都是在内存中,成本昂贵。...2、不同的业务数据要分开存储 不相关的业务数据不要集中放到一个Redis实例中,建议新业务申请新的单独实例。...4、控制key的生命周期,redis不是垃圾桶 如果将redis定位为缓存Cache使用,对于存放的key一定要设置超时时间!...5、对于必须要存储的大文本数据一定要压缩后存储 大文本【超过500字节】写入到redis时,一定要压缩后存储!...3、严禁作为消息队列使用 没有非常特殊诉求,严禁将redis当作消息队列使用。redis当消息队列使用,会有容量、网络、效率、功能方面的多种问题。

41260

Redis 开发常用规范

使用规范 1、冷热数据分离,不要将所有数据全部都放到Redis中 虽然Redis 支持持久化,但是Redis的数据存储全部都是在内存中,成本昂贵。...2、不同的业务数据要分开存储 不相关的业务数据不要集中放到一个Redis实例中,建议新业务申请新的单独实例。...4、控制key的生命周期,redis不是垃圾桶 如果将redis定位为缓存Cache使用,对于存放的key一定要设置超时时间!...5、对于必须要存储的大文本数据一定要压缩后存储 大文本【超过500字节】写入到redis时,一定要压缩后存储!...3、严禁作为消息队列使用 没有非常特殊诉求,严禁将redis当作消息队列使用。redis当消息队列使用,会有容量、网络、效率、功能方面的多种问题。

30040

Redis开发常用规范

1.冷热数据分离,不要将所有数据全部都放到Redis中 虽然Redis支持持久化,但是Redis的数据存储全部都是在内存中的,成本昂贵。...2.不同的业务数据要分开存储 不要将不相关的业务数据都放到一个Redis实例中,建议新业务申请新的单独实例。...因为Redis为单线程处理,独立存储会减少不同业务相互操作的影响,提高请求响应速度;同时也避免单个实例内存数据量膨胀过大,在出现异常情况时可以更快恢复服务!...":"-作为key分隔符,方便客户端工具作为目录分级 4.存储的Key一定要设置超时时间 如果应用将Redis定位为缓存Cache使用,对于存放的Key一定要设置超时时间!...禁止使用Keys正则匹配操作 Redis是单线程处理,在线上KEY数量较多时,操作效率极低【时间复杂度为O(N)】,该命令一旦执行会严重阻塞线上其它命令的正常请求,而且在高QPS情况下会直接造成Redis

1.1K20

⑦【Redis GEO 】Redis常用数据类型:GEO

个人简介:Java领域新星创作者;阿里云技术博主、星级博主、专家博主;正在Java学习的路上摸爬滚打,记录学习的过程~ 个人主页:.29.的博客 学习社区:进去逛一逛~ ⑦Redis GEO...基本操作命令 Redis GEO主要用于存储地理位置信息,并对存储的选项进行操作: 1.添加地理位置的坐标 2.获取地理位置的坐标 3.计算两个地理位置间的距离 4.根据用户给定的经纬度坐标来获取指定范围内的地理位置集合...中文乱码处理 redis-cli -a 123456 --raw # redis-cli进入redis控制台,-a输入密码,--raw避免中文乱码问题 1.geoadd 存储指定的地理空间位置(精度、维度......] geopos city 广州 # 获取空间名称“广州”的经纬度 geopos city 深圳 # 没有存储“深圳”的空间名称,返回nil 3.geohash 获取保存位置的geohash值 Redis

18810
领券