jedis操作redis(微整理)

package com.example.demo.test;

import redis.clients.jedis.Jedis;
import redis.clients.jedis.SortingParams;

import java.util.*;

/**
 * @author A-LH
 * @function jedis常用命令
 */

public class JedisTest {

    public static void main(String[] args) {

        //jedis操作redis微整理(不全,仅参考)

        Jedis jedis = new Jedis("localhost");
        System.out.println("连接成功");
        System.out.println("服务器正在运行"+jedis.ping());
        System.out.println("---------------------------");
//================================对字符串的操作======================================
        jedis.set("num", "1");
        //设置redis的数据
        jedis.set("key", "这是一条数据");
        jedis.set("newKey", "这是一条新的数据");
        //添加一条新的数据,如果是重复数据,就不添加,也不会覆盖其他数据
        jedis.setnx("newKey1", "这是一条重复不会添加的数据");
        //添加一条数据并且设置过期时间,单位 秒
        jedis.setex("newKey2", 120, "这是一条带有过期时间的数据");

        //在键为key的之后面追加值,如果这个key不存在,那么就是和set用法一样,新添加一条数据
        jedis.append("key", "+这是在键为key的值后面追加的字符串");//效果为这是一条数据+这是在键为key的值后面追加的字符串
        jedis.append("newKeyKey", "这个键在数据库中不存在,他就会在数据库新建一条储存");

        //添加一些键值对,key,value的形式
        jedis.mset("addKey","addValue","addKey1","addValue1");
        //同理  删除多条数据 jedis.mset("addKey","addValue","addKey1","addValue1");

        //redis获取键对应的值,并且更新这个值
        jedis.getSet("key", "这是获取键为key的值并且替换这个值");

        //获取键为key对应的值,从d第i到第j的字符,从0开始,包头包尾
        jedis.getrange("key", 0, 3);

        //获取多个key的value值,返回值是List<String>类型
        jedis.mget("key","newKey","newKey1");

        //将key改名为key1,当key和key1相同或者key不存在时,返回一个错误
        jedis.rename("key", "key1");

        //获取reids的数据,通过getKey的方式
        System.out.println("redis储存的数据"+jedis.get("key"));
        System.out.println("---------------------------");

        //删除指定的key
        jedis.del("key");
        //=================================================================================

//-------------------------------对整数,浮点数的操作----------------------------------
        //将键对应的值加1
        jedis.incr("num");
        //将键对应的值加n 这里举例加3
        jedis.incrBy("num",3);
        //将键对应的值减1
        jedis.decr("num");
        //将键对应的值减n 这里距离减3
        jedis.decrBy("num",3);

        //---------------------------------------------------------------------

//*************************************List操作*************************************
        //list都是从下标为0开始
        //将数据储存到列表里 如果key存在就会一次从左边开始往里面添加,输出结果:JingDong,TianMao,TaoBao
        jedis.lpush("site-list", "TaoBao");
        jedis.lpush("site-list", "TianMao");
        jedis.lpush("site-list", "JingDong");

        //从右边添加
        jedis.rpush("right-list", "PinXiXi");

        //获取储存的数据并输出 从0开始包头包尾
        List<String> list = jedis.lrange("site-list", 0, 2);
        for (int i = 0; i < list.size(); i++) {
            System.out.println("列表项为"+list.get(i));
        }
        System.out.println("---------------------------");

        //获取数据并输出
        Set<String> keys = jedis.keys("*");//匹配数据库中所有的key 如果是jedis.keys("h?llo");匹配hello,hxllo等
        Iterator<String> iterator = keys.iterator();//interator迭代器,使keys这个对象有.next的属性
        while (iterator.hasNext()){
            String next = iterator.next();
            System.out.println(next);//输出所有的key

            //返回key所储存的值的类型。
            //none(key不存在),string(字符串),list(列表),set(集合),zset(有序集),hash(哈希表)
            jedis.type("key1");
        }
        //删除list中 n个元素val
        jedis.lrem("site-list", 1, "TaoBao");

        jedis.ltrim("site-list", 2, 4); //删除list区间[i,j] 之外的元素

        jedis.lpop("site-list");//key为site-list的list,左弹出一个元素
        jedis.rpop("site-list");//key为site-list的list,右弹出一个元素

        jedis.lset("site-list",2,"新修改元素");//key为site-list的list,修改下标为2的元素值

        jedis.llen("site-list");//获取key为site-list的长度

        jedis.lindex("site-list",2);//获取key对应list下标为index的元素

        jedis.sort("site-list");//把key对应list里边的元素从小到大排序


        //*********************************************************************************

//--------------------------------------Set----------------------------------------
        jedis.sadd("keySet","我是第一个set元素","keySet2","我是第二个set元素");	//添加一个set

        jedis.smembers("keySet");//获取key对应set的所有元素

        jedis.srem("keySet","第一个");	//删除集合key中值为val的元素

        jedis.srem("keySet", "我是第一个set元素");	//删除值为v1, v2 , …的元素

        jedis.spop("keySet");	//随机弹出栈set里的一个元素

        jedis.scard("keySet");//获取set元素个数

        jedis.smove("keySet", "keySet2", "我是第一个set元素");	//将元素val从集合key1中移到key2中

        jedis.sinter("keySet", "keySet2");	//获取集合key1和集合key2的交集

//---------------------------------------------------------------------------------

        //====================================Zsort========================================

        jedis.zadd("Zsort",1,"这是一个Zsort");//	添加一个ZSet

        jedis.hset("Zsort", "2", "我是插入数据");//	往 ZSet插入一个元素(Score-Val)

        jedis.zrange("Zsort", 2 , 4);//	获取ZSet 里下表[i,j] 区间元素Val

        jedis.zrangeWithScores("Zsort", 2, 4);//	获取ZSet 里下表[i,j] 区间元素Score - Val

        jedis.zrangeByScore("Zsort", 2,4);//	获取ZSet里score[i,j]分数区间的元素(Score-Val)

        jedis.zscore("Zsort","我是插入数据");//	获取ZSet里value元素的Score

        jedis.zrank("Zsort","这是一个排名");//	获取ZSet里value元素的score的排名

        jedis.zrem("Zsort","我是要删除的value");//	删除ZSet里的value元素

        jedis.zcard("Zsort");//	获取ZSet的元素个数

        jedis.zcount("Zsort", 2 ,5);//	获取ZSet总score在[i,j]区间的元素个数

        jedis.zincrby("Zsort",2, "这是一个新元素");//	把ZSet中value元素的score+=n

        //=================================================================================

        //####################################Hash#########################################
        Map<String ,String > map = new HashMap<>();
        map.put("map", "这是一个map");

        jedis.hmset("Hash",map);//	添加一个Hash

        jedis.hset("Hash" , "newMap", "插入一个新map");//	向Hash中插入一个元素(K-V)

        jedis.hgetAll("Hash");//	获取Hash的所有(K-V) 元素

        jedis.hkeys("Hash");//	获取Hash所有元素的key

        jedis.hvals("Hash");//	获取Hash所有元素 的value

        jedis.hincrBy("Hash", "m", 2);//	把Hash中对应的k元素的值 val+=i

        jedis.hdel("Hash", "这是一个map");//	从Hash中删除一个或多个元素

        jedis.hlen("Hash");//	获取Hash中元素的个数

        jedis.hexists("Hash","这是一个map");//	判断Hash中是否存在K1对应的元素

        jedis.hmget("Hash","这是一个map","插入一个新的map");//	获取Hash中一个或多个元素value

        //#################################################################################

//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%排序操作%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

        SortingParams sortingParams =  new SortingParams();

        jedis.sort("这个是想要排序的key",sortingParams.alpha());//队列按首字母a-z 排序

        jedis.sort("这个是想要排序的key", sortingParams.asc() );//队列按数字升序排列

        jedis.sort("这个是想要排序的key", sortingParams.desc());//队列按数字降序排列


        //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

//~~~~~~~~~~~~~~~~~~~~~~查看数据类型,设置过期时间~~~~~~~~~~~~~~
        //判断key1是否在数据库中存在
        Boolean bol = jedis.exists("key1");
        System.out.println("数据库中是否存在这个key"+bol);

        //设置key过期时间,单位秒
        jedis.expire("key1",60);
        
        //获取key剩余的时间,单位秒
        Long seconds = jedis.ttl("key1");
        System.out.println("key1剩余存活时间"+seconds+"秒");

        //移除key存活时间限制
        jedis.persist("key1");

        //查看key的数据类型
        jedis.type("key1");
        System.out.println("key的数据类型是"+jedis.type("key1"));

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        //清空数据库
        jedis.flushDB();

    }
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值