用idea操作Redis基本语法转换

//hash 哈希类型的
@Test
public void testHash() {
    //hset hget hdel hekys
    HashOperations hashOperations = redisTemplate.opsForHash();
    //创建hash类型的操作对象
    hashOperations.put("100", "name", "zhaoliu");//hset 设置字段
    hashOperations.put("100", "age", "18");
    hashOperations.put("100", "sex", "1");

    Set keys = hashOperations.keys("100");//获取表中的所有名字 hkeys
    List values = hashOperations.values("100");//获取表中的所有字段  hvals

    hashOperations.delete("100", "sex");
    String name = (String) hashOperations.get("100", "name");//hdel key和haskey删除字段
    String age = (String) hashOperations.get("100", "age");
    System.out.println(name + ":" + age);
}

//字符串类型常用对象
@Test
public void stringTest() {
    //set get setex setnx
    //获取redisString类型操作对象
    ValueOperations valueOperations = redisTemplate.opsForValue();
    
    valueOperations.set("name", "张三");//set setex 整合了两个操作,同时可以设置过期时间类型
    //参数三 设置键的时间 参数四 设置键时间的单位
    valueOperations.set("age", "20", 1, TimeUnit.MINUTES);
    
    //setnx 如果存在的话 插入键值
    //valueOperations.setIfAbsent()
    String name = (String) valueOperations.get("name");//get 设置指定key的值 也可以添加键值对
    System.out.println(name);
}

//操作列表类型的数据
public void testList(){
    //创建list数据类型操作对象
    ListOperations listOperations = redisTemplate.opsForList();

    //lpush 将一个或多个值从左边开始插入
    listOperations.leftPushAll("mylist","a","b","c");
    listOperations.leftPush("mylist","d");
    //lrange 获取指定范围内的元素
    List mylist = listOperations.range("mylist", 0, 1);
    //llen 获取列表长度
    Long mylis = listOperations.size("mylis");
    //rpop 移除并获取左边第一个元素
    Object mylist1 = listOperations.leftPop("mylist");
    //移除并获取右边第一个元素
    Object mylist2 = listOperations.rightPop("mylist");
}

//操作集合类型的数据
public void testSet(){
    //创建set集合类型的操作对象 (set不能出现重复数据)
    SetOperations setOperations = redisTemplate.opsForSet();
    //sadd 向集合中添加一个或多个成员
    setOperations.add("myset01","a","b","c");
    //smembers 返回集合中的所有成员
    Set myset01 = setOperations.members("myset01");
    //scard 返回集合中的成员数
    Long myset011 = setOperations.size("myset01");
    //sinter 返回给定集合的所有交集
    Set intersect = setOperations.intersect("myset01", "myset02");
    //sunion 返回给定集合所有的并集
    Set union = setOperations.union("myset01", "myset02");
    //srem 删除集合中一个或多个成员
    setOperations.remove("myset01","a");
}
//操作有序集合类型的数据
public void testZSet(){
    //创建zest数据类型操作对象
    ZSetOperations zSetOperations = redisTemplate.opsForZSet();
    //zadd 向有序集合添加一个或多个成员
    zSetOperations.add("zset1","a",16);
    zSetOperations.add("zset1","b",8);
    zSetOperations.add("zset1","c",20);
    //zrange 通过索引区间 返回有序集合中指定区间内的成员
    Set zset1 = zSetOperations.range("zset1", 0, 2);
    //zincrby 对指定成员的分数增量
    zSetOperations.incrementScore("zset1","a",2);
    //zrem 移除一个或多个成员
    zSetOperations.remove("zset1","a");
}
//通用命令操作
@Test
public void testComm(){
    //直接通过redisTemplate模板对象操作 因为此操作与数据类型无关
    //keys 返回数据库所有给定模式(正则表达式)的key
    Set keys = redisTemplate.keys("*");
    //exists 查询key存在不存在
    Boolean name = redisTemplate.hasKey("name");
    //type 返回key所存储的值类型
    DataType myset01 = redisTemplate.type("myset01");
    myset01.name();
    //del key存在的话就删除
    redisTemplate.delete("name");
}

  • 22
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值