RedisTemplate操作Redis数据结构-字符串类型

SpringBoot中使用RedisTemplate执行Redis基本命令

在application.properties或application.yml文件中配置Redis

spring:
  redis:
    host: 127.0.0.1
    port: 6379

编写代码

package com.heaven.redis;

import lombok.extern.slf4j.Slf4j;
import org.junit.jupiter.api.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.serializer.RedisSerializer;
import org.springframework.data.redis.serializer.StringRedisSerializer;
import org.springframework.test.context.junit4.SpringRunner;
import redis.clients.jedis.Jedis;
@RunWith(SpringRunner.class)
@SpringBootTest
@Slf4j
class RedisApplicationTests {

    @Autowired
    RedisTemplate redisTemplate;

    @Test
    void testString(){
        //设置生成key value的序列化策略
        RedisSerializer<String> stringSerializer = new StringRedisSerializer();
        redisTemplate.setKeySerializer(stringSerializer);
        redisTemplate.setValueSerializer(stringSerializer);
        redisTemplate.setHashKeySerializer(stringSerializer);
        redisTemplate.setHashValueSerializer(stringSerializer);
        //设值(set key value)
        redisTemplate.opsForValue().set("key1","value1");
        //通过key取值(get key)
        String key1 = (String) redisTemplate.opsForValue().get("key1");
        redisTemplate.opsForValue().set("key2","value2");
        log.info("key1======"+key1);
        redisTemplate.delete("key1");
        String key2 = (String) redisTemplate.opsForValue().get("key2");
        log.info("key2======"+key2);
        //获取key对应的value的长度(strlen key)
        Long size = redisTemplate.opsForValue().size("key2");
        log.info("size======"+size);
        //给key重新设值(getset key value)
        String getSet = (String) redisTemplate.opsForValue().getAndSet("key2", "start_value2");
        log.info("getSet======"+getSet);
        //根据下标获取value的子串(getrange key start end)
        String range = redisTemplate.opsForValue().get("key2", 0, 5);
        log.info("range======"+range);
        //在value尾部添加字符(append key value)
        Integer end = redisTemplate.opsForValue().append("key2", "_end");
        log.info("end======"+end);
    }

}

运行结果

原文地址:https://www.cnblogs.com/heavenplus/p/11933799.html

时间: 2024-10-09 03:49:21

RedisTemplate操作Redis数据结构-字符串类型的相关文章

第二百九十七节,python操作redis缓存-List类型,可以理解为列表

python操作redis缓存-List类型,可以理解为列表 List操作,redis中的List在在内存中按照一个name对应一个List来存储.如图:

Spring中使用RedisTemplate操作Redis(spring-data-redis)

Redis 数据结构简介 Redis可以存储键与5种不同数据结构类型之间的映射,这5种数据结构类型分别为String(字符串).List(列表).Set(集合).Hash(散列)和 Zset(有序集合). 下面来对这5种数据结构类型作简单的介绍: 结构类型 结构存储的值 结构的读写能力 String 可以是字符串.整数或者浮点数 对整个字符串或者字符串的其中一部分执行操作:对象和浮点数执行自增(increment)或者自减(decrement) List 一个链表,链表上的每个节点都包含了一个字

直接在安装了redis的Linux机器上操作redis数据存储类型--对key的操作

一.概述: 前几篇博客中,主要讲述的是与Redis数据类型相关的命令,如String.List.Set.Hashes和Sorted-Set.这些命令都具有一个共同点,即所有的操作都是针对与Key关联的Value的.而该篇博客将主要讲述与Key相关的Redis命令.学习这些命令对于学习Redis是非常重要的基础,也是能够充分挖掘Redis潜力的利器. 二.相关命令列表: 命令原型 时间复杂度 命令描述 返回值 KEYS pattern O(N) 时间复杂度中的N表示数据库中Key的数量.获取所有匹

springboot2.1.3 + redisTemplate 操作 redis 3.0.5

近期在整合springboot + redis 的功能,本来想用原生的jedit api,最后想想有点 low,搜了一把,boot已经提供给我们操作的方法,那就是 使用 redisTemplate 或 StringRedisTemplate, 两者是有区别的,可以看下面的说明 1. 两者的关系是StringRedisTemplate继承RedisTemplate. 2. 两者的数据是不共通的:也就是说StringRedisTemplate只能管理StringRedisTemplate里面的数据,

redis读取字符串类型的整数时会直接将其当做整数来处理

今天遇到一个有趣的问题,当系统从mysql中加载一个字符串类型的整形数据到redis后,再从redis中取出来,其类型就变成Integer类型了,操作过程如下: 数据库中key为varchar类型的数字,比如4,value为varchar类型的日期类型,比如2014-12-19 然后加载到redis中,再从redis中取出来放到Map<String,String>中,但是通过string类型的key,比如这里是"4",但是死活都从map中无法取出2014-12-19这个日期

三、redis对字符串类型的操作

1.set key value [ex 秒数] / [px 毫秒数]  [nx] /[xx] 如: set a 1 ex 10 , 10秒有效 Set a 1 px 9000  , 9秒有效 注: 如果ex,px同时写,以后面的有效期为准 如 set a 1 ex 100 px 9000, 实际有效期是9000毫秒 nx: 表示key不存在时,执行操作 xx: 表示key存在时,执行操作 2.mset  multi set , 一次性设置多个键值 例: mset key1 v1 key2 v2

直接在安装了redis的Linux机器上操作redis数据存储类型--对Sorted-Sets操作

一.概述: Sorted-Sets和Sets类型极为相似,它们都是字符串的集合,都不允许重复的成员出现在一个Set中.它们之间的主要差别是Sorted-Sets中的每一个成员都会有一个分数(score)与之关联,Redis正是通过分数来为集合中的成员进行从小到大的排序.然而需要额外指出的是,尽管Sorted-Sets中的成员必须是唯一的,但是分数(score)却是可以重复的. 在Sorted-Set中添加.删除或更新一个成员都是非常快速的操作,其时间复杂度为集合中成员数量的对数.由于Sorted

RedisTemplate操作Redis(spring-data-redis)

参看博客:https://www.cnblogs.com/songanwei/p/9274348.html 使用文档:StringRedisTemplate+RedisTemplate使用说明 原文地址:https://www.cnblogs.com/2019wxw/p/11700797.html

辛星浅析Redis中的字符串类型

字符串类型是Redis中最为基础的数据存储类型,它在Redis中是二进制安全的,这就意味着该类型可以接受任何格式的数据,比如图像数据或者json对象等信息,在Redis中字符串类型的value最多可以容纳的数据长度为512M. 我们常用的命令如下: (1)append  key   value   如果该key已经存在,那么append命令会将参数value的值追加到已经存在的value的末尾,如果该key不存在,那么该命令会创建一个新的空字符串,并且把value追加到其末尾. (2)decr