背景 最近遇到了两个Redis相关的问题,趁着清明假期,梳理整理。 1.存入Long类型对象,在代码中使用Long类型接收,结果报类型转换错误。 2.String对象的反序列化问题,直接在Redis服务器上新增一个key-value,而后在代码中get(key)时,报反序列化失败。 关于Long类型转换错误 Redis的配置如下 Redis中序列化相关的配置,我这里采用的是GenericJackson2JsonRedisSerializer类型的序列化方式(这种方式会有一个类型转换的坑,下面会提...
字符串类型是Redis 中最为基础的数据存储类型,它在Redis 中是二进制安全的,该类型可以接收任何格式的数据, 字符串 Value 最多可以容纳的数据长度是521M. 保存: 设置键值。set key valueget name "键"”值“set name "新的值"“新的值” 设置多个键值。mset 键1 值1 键2 值2.。。。。。追加值。append 键 值获取: get 键获取多个get 键1 键2 键3 键命令: keys * 查询所有 键keys " a* " 查询包含a 的...
? ? @Autowired ?? ?private StringRedisTemplate stringRedisTemplate;?? ?public static final String prefix = "*";? Set<String> keys = stringRedisTemplate.keys(prefix);Iterator<String> it1 = keys.iterator();while (it1.hasNext()) {redisService.deleteString(it1.next());}
stringRedisTemplate.opsForValue().set("test", "100",60*10,TimeUnit.SECONDS);//向redis里存入数据和设置缓存时间stringRedisTemplate.boundValueOps("test").increment(-1);//val做-1操作stringRedisTemplate.opsForValue().get("test")//根据key获取缓存中的valstringRedisTemplate.boundValueOps("test").increment(1);//val +1stringRedisTemplate.getExpire("test")//根据key获取过期时间stringRedisTemplate.getExpire("t...
一、String操作 String操作,redis中的String在在内存中按照一个name对应一个value来存储。如图:set(name,value,ex=None,px=None,nx=False,xx=False)在Redis中设置值,默认,不存在则创建,存在则修改 参数:ex,过期时间(秒)px,过期时间(毫秒)nx,如果设置为True,则只有name不存在时,当前set操作才执行,值存在,就修改不了,执行没效果xx,如果设置为True,则只有name存在时,当前set操作才执行,值存在才能修改,值不存在...
StringRedisTemplate与RedisTemplate区别点两者的关系是StringRedisTemplate继承RedisTemplate。两者的数据是不共通的;也就是说StringRedisTemplate只能管理StringRedisTemplate里面的数据,RedisTemplate只能管理RedisTemplate中的数据。其实他们两者之间的区别主要在于他们使用的序列化类:RedisTemplate使用的是JdkSerializationRedisSerializer 存入数据会将数据先序列化成字节数组然后在存入Redis数据库。 StringRedisTe...
一、简介 Redis有5种基本数据结构,分别是string、list(列表)、hash(字典)、set(集合)、zset(有序集合),这是必须掌握的5种基本数据结构.注意Redis作为一个键值对缓存系统,其所有的数据结构,都以唯一的key(字符串)作为名称,然后通过key来获取对应的数据. 二、.Net开发环境搭建 这个版本,暂时不考虑并发问题,后续的文章会说!第一步:安装StackExchange.Redis包,我用的是2.0.519版本的. 第二步:编写代码,采用扩展方法的链式编程模式+a...
redis基本数据类型之String redis一共分为5中基本数据类型:String,Hash,List,Set,ZSet String String类型是包含很多种类型的特殊类型,并且是二进制安全的。比如序列化的对象进行储存,比如一张图片进行二进制储存,比如一个简单的字符串数值等等。 (1)set和get方法: 设置值set name realValue 取值 get name说明:set设置name的时候,如果name重复,设置的值会进行覆盖。 (2)setnx 方法 设置值setnx name realValue 说明:...
先上问题:java.lang.ClassCastException: com.ppdai.cbd.ddp.thirdparty.contract.bhxtzx.BHXTZXTask cannot be cast to java.lang.Stringat org.springframework.data.redis.serializer.StringRedisSerializer.serialize(StringRedisSerializer.java:33)at org.springframework.data.redis.core.AbstractOperations.rawValue(AbstractOperations.java:117)at org.springframework.data.redis.core.DefaultListOperations.leftPus...
redis 进入控制台redis-cil 需要输入密码的时候可以是用 -aredis-cil -a abcd1234redis 数据类型string hash list set zset( 有序集合)键select [index] 切换库 类似于 db 的 use dbname keys [pattern]查看当前的键 bash 127.0.0.1:6379[1]> keys * 1) "test1" 2) "test" del key 删除键 bash 127.0.0.1:6379[1]> del test (integer) 1 dump key 返回序列化之后的值 bash 127.0.0.1:6379[1]> dump test "\x00\x0bhe...