java redis 分布式_java-redis 分布式事务 分布式锁

本文详细介绍Redis支持的五种数据结构:String、Hash、List、Set和Sorted Set,并通过示例展示了如何使用Jedis客户端进行操作。同时,文中还介绍了Redis的两种持久化方式:RDB和AOF。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、redis支持5中类型  string hash(map格式) list(linkedlist,可以重复) set(不允许重复) sortedset(有序,不允许重复)

string set age  get age del age

hash hset  myhash username hh ,hash hset myhash password 123  ; hget myhash username ;

list lpush mylist a, lpush mylist b ,rpush mylist c; lpop mylist ;lrange  mylist 0  -1;rpop mylist;

set sadd myset a; sadd myset b c d; smembers myset;srem myset b;

sortedset zadd mysort 60 lisi; zadd mysort 50 zhangsan; zrange mysort 0 -1;zrem mysort lisi;

keys * 可以查看所有key

type username 查看类型

del key 删除指定key

2、redis持久化

RDB 默认方式,一定间隔时间会持久化一次  ;

900秒(15分钟)内至少1个key值改变   则进行数据库保存--持久化

300秒(5分钟)内至少10个key值改变  则进行数据库保存--持久化

60秒(1分钟)内至少10000个key值改变  则进行数据库保存--持久化

AOF 日志记录的方式,可以记录每一条命令的操作,可以每一次命令操作后,持久化数据

appendonly res 开启 aof

always 每一次执行都执行持久化

everysec 每个一秒执行一次持久化

no 由系统操控

3、jedis操作redis

@Testpublic voidtestRedisStr(){

Jedis jedis= new Jedis("139.129.99.12", 6379);

jedis.auth("123456");

jedis.set("username2","张三");

jedis.setex("username3",10,"hh3");

System.out.println(jedis.get("username"));

jedis.close();

}

@Testpublic voidtestRedisHash(){

Jedis jedis= new Jedis("139.129.99.12", 6379);

jedis.auth("123456");

jedis.hset("user","username","hh");

jedis.hset("user","age","20");

System.out.println(jedis.hget("user","username"));

System.out.println(jedis.hgetAll("user"));

jedis.close();

}

@Testpublic voidtestRedisList(){

Jedis jedis= new Jedis("139.129.99.12", 6379);

jedis.auth("123456");

jedis.lpush("list1","la","lb","lc");

jedis.rpush("list1","ra","rb","rc");

System.out.println(jedis.lrange("list1",0,-1));

System.out.println(jedis.lpop("list1"));

jedis.close();

}

@Testpublic voidtestRedisSet(){

Jedis jedis= new Jedis("139.129.99.12", 6379);

jedis.auth("123456");

jedis.sadd("myset02","java","php","c++");

System.out.println(jedis.smembers("myset02"));

jedis.close();

}

@Testpublic voidtestRedisSortedSet(){

Jedis jedis= new Jedis("139.129.99.12", 6379);

jedis.auth("123456");

jedis.zadd("sortset01",50,"hh1");

jedis.zadd("sortset01",80,"hh2");

jedis.zadd("sortset01",70,"hh3");

System.out.println(jedis.zrange("sortset01",0,-1));

jedis.close();

}

redis 集群

922e9245e2b34570e7576d6af601450e.png

spring boot 使用redis

@Testpublic voidtest(){//string 字符串//redisTemplate.opsForValue().set("str", "hh");

redisTemplate.boundValueOps("str").set("hh");

System.out.println("str = " + redisTemplate.opsForValue().get("str"));//hash 散列

redisTemplate.boundHashOps("h_key").put("name", "hh");

redisTemplate.boundHashOps("h_key").put("age", 13);//获取所有域

Set set = redisTemplate.boundHashOps("h_key").keys();

System.out.println(" hash散列的所有域:" +set);//获取所有值

List list = redisTemplate.boundHashOps("h_key").values();

System.out.println(" hash散列的所有域的值:" +list);//list 列表

redisTemplate.boundListOps("l_key").leftPush("c");

redisTemplate.boundListOps("l_key").leftPush("b");

redisTemplate.boundListOps("l_key").leftPush("a");//获取全部元素

list = redisTemplate.boundListOps("l_key").range(0, -1);

System.out.println(" list列表中的所有元素:" +list);//set 集合

redisTemplate.boundSetOps("s_key").add("a", "b", "c");

set= redisTemplate.boundSetOps("s_key").members();

System.out.println(" set集合中的所有元素:" +set);//sorted set 有序集合

redisTemplate.boundZSetOps("z_key").add("a", 30);

redisTemplate.boundZSetOps("z_key").add("b", 20);

redisTemplate.boundZSetOps("z_key").add("c", 10);

set= redisTemplate.boundZSetOps("z_key").range(0, -1);

System.out.println(" zset有序集合中的所有元素:" +set);

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值