Redis java 常用操作记录

Redis是一个高性能的Key -Value 数据库
1.速度快,读的速度是110000次/s,写的速度是81000次/s 
2.支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
3.支持多种数据类型,string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。
4.简单,不依赖外部库、单 线程
5.主从复制,主节点的数据做副本,这个高可用的基石
6.高可用,分布式
7.支持多张编程语言

JAVA 操作redis:

一,基本链接

		//连接本地的 Redis 服务
        Jedis jedis = new Jedis("localhost");
        System.out.println("连接成功");
        //查看服务是否运行
        System.out.println("服务正在运行: "+jedis.ping());

二 各数据基本操作

1.String

jedis.set("name","何xiao树"); 	   //存
jedis.append("name", "生活不值得!");//拼接
jedis.del("name");				  //删除
jedis.mset("name","aa","age","23","qq","123456");//存多个

2.Hash -map操作

Hash更容易存储对象,比如在设置用户姓名,年龄,邮箱等属性时,用string需要分别来进行设置存储,通过Hash就可以把属性放到对象中,然后再存储对象,因此相对于string类型,Hash类型存储对象可以占用更少的字节

         Map<String, String> map = new HashMap<String, String>();
    	 map.put("name", "yc");
         map.put("age", "22");
         map.put("qq", "1933108196");
    	 jedis.hmset("user",map);

如图:
reids

List<String> hmget = jedis.hmget("user", "name","qq");//取值User中key为name,qq的值
jedis.hdel("user", "age");//删除map中某个key值
        System.out.println(jedis.hlen("user"));//返回key为user的键中存放的值的个数2
    	System.out.println(jedis.exists("user"));//是否存在key为user的记录,返回true
        System.out.println(jedis.hkeys("user"));//返回map对象中的所有key
        System.out.println(jedis.hvals("user"));//返回map对象中的所有value

3.List 操作

   //存list
        //从右添加
    	jedis.rpush("list", "1");
    	jedis.rpush("list", "2");
    	jedis.rpush("list", "3");
    	jedis.rpush("list", "4");
    	jedis.rpush("list", "5");
    	//从左添加
    	jedis.lpush("list", "1");
    	jedis.lpush("list", "2");
    	jedis.lpush("list", "3");
    	jedis.lpush("list", "4");
    	jedis.lpush("list", "5");
   

如图:
redis存list

		//取值。 -1 表示取所有的值
    	List<String> lrange = jedis.lrange("list", 0, -1);
    	lrange.forEach(k -> System.out.println(k));
    	//删除
    	jedis.del("list");

4.Set 操作, set 一个无序集合。不允许元素重复。

        jedis.sadd("me","何");
    	jedis.sadd("me", "xiao");
    	jedis.sadd("me", "树");
    	
    	System.out.println(jedis.smembers("me"));//获取所有加入的value
        System.out.println(jedis.sismember("me", "who"));//判断who是否是user集合的元素
        System.out.println(jedis.srandmember("me"));//返回第一个元素
        System.out.println(jedis.scard("me"));//返回集合的元素个数
        
    	jedis.sadd("me","何");//如果 set 添加重复的value,会覆盖

5.sorted set

        jedis.zadd("mysort",1.0,"三国演义"); // key,score,value
        jedis.zadd("mysort",2.0,"西游记");
        jedis.zadd("mysort",3.0,"水浒传");
        jedis.zadd("mysort",4.0,"红楼梦");
        Map<String,Double>map = new HashMap<>();
        map.put("mutouliu",5.0);
        jedis.zadd("mysort", map);

如图:
redis,hash操作

三、实用操作

        // key为age,Value 数值型
        // +1
    	jedis.incr("age");
    	// -1
    	jedis.decr("age");
    	// 阶梯加,每次增加 10
    	jedis.incrBy("age", 10);
    	// 阶梯减,每次减少 10
    	jedis.decrBy("age", 10);
    	//阶梯加 ,这个是操作hash,User对象,key为age;看第一张图!
    	jedis.hincrBy("user", "age", 23);
    	//阶梯减,放 负数就减了
    	jedis.hincrBy("user", "age",-27);
		//排序,数值集合
		jedis.sort("list")

Spring boot 2.x 以后 StringRedisTemplate 操作Redis时,db切换

//获取链接再切换db,是很不靠谱的,受伤的是你自己
stringRedisTemplate.move(key,db);

后续在更新…
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值