Rides的字符串操作命令

1、字符串操作命令

public void testString() {
        //set  get  setnx setex
        redisTemplate.opsForValue().set("city", "北京");

        String city = (String) redisTemplate.opsForValue().get("city");
        System.out.println(city);

        redisTemplate.opsForValue().set("code", "1234", 3, TimeUnit.MINUTES);

        redisTemplate.opsForValue().setIfAbsent("lock", 1);

        redisTemplate.opsForValue().setIfAbsent("lock", 2);
    }

其中SETEX key seconds value用于设置短信验证码;

SETNX key value通常用于分布式锁;

2、哈希结构中常见的命令

public void testHash() {
        //hset  hget  hkeys  hdel  hvals
        HashOperations hashOperations = redisTemplate.opsForHash();
        hashOperations.put("101", "name", "tom");
        hashOperations.put("101", "age", "20");

        String name = (String) hashOperations.get("101", "name");
        System.out.println(name);

        Set keys = hashOperations.keys("101");
        System.out.println(keys);

        List values = hashOperations.values("101");
        System.out.println(values);

        hashOperations.delete("101", "age");
    }

其中语句中的key、field、value和哈希表结构中的key、field、value相对应。

3、列表操作命令

public void testList() {
        //lpush lrange rpop llen
        ListOperations listOperations = redisTemplate.opsForList();

        listOperations.leftPushAll("mylist","a", "b", "c");
        listOperations.leftPush("mylist", "d");

        List mylist = listOperations.range("mylist", 0, -1);
        System.out.println(mylist);

        //从右侧移除一个元素
        listOperations.rightPop("mylist");

        Long size = listOperations.size("mylist");
        System.out.println(size);
    }

 4、集合操作命令

public void testSet() {
        //sadd smembers scard sinter sunion srem

        SetOperations setOperations =redisTemplate.opsForSet();
        setOperations.add("set1", "a", "b", "c", "d");
        setOperations.add("set2", "a", "b", "x", "y");

        Set members = setOperations.members("set1");
        System.out.println(members);

        Long size = setOperations.size("set1");
        System.out.println(size);

        Set intersect = setOperations.intersect("set1", "set2");
        System.out.println(intersect);

        Set union = setOperations.union("set1", "set2");
        System.out.println(union);

        setOperations.remove("set1","a", "b");
    }

因为集合是无序的,查询顺序和插入顺序无关;

set集合里面不允许重复元素,重复插入无效;

 5、有序集合常用命令

public void testZset(){
        //zadd  zrange  zincrby  zrem
        ZSetOperations zSetOperations = redisTemplate.opsForZSet();

        zSetOperations.add("zset1","a",10);
        zSetOperations.add("zset1","b",12);
        zSetOperations.add("zset1","c",9);

        Set zset1 = zSetOperations.range("zset1",0,-1);
        System.out.println(zset1);

        zSetOperations.incrementScore("zset1","c",10);

        zSetOperations.remove("zset1","a","b");
    }

 

6、Redis通用命令

public void testCommon(){
        //keys exists type del
        Set keys = redisTemplate.keys("*");
        System.out.println(keys);

        Boolean name = redisTemplate.hasKey("name");
        Boolean set1 = redisTemplate.hasKey("set1");

        //把每一个key对于的value输出
        for(Object key:keys){
            DataType type = redisTemplate.type(key);
            System.out.println(type.name());
        }

        redisTemplate.delete("mylist");
    }

keys *:返回所有的key;

keys set*:返回以set开头的key

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值