java 中 简单的使用 Redis 存取数据

1 篇文章 0 订阅

初学 Redis 做个笔记

一、在cmd运行Redis

进入:以管理员身份运行cmd
运行:redis-server.exe
以管理员身份运行一个新的cmd,上一个不要关闭
运行:redis-cli.exe -h 127.0.0.1 -p 6379
注:设置中文字符集则运行:redis-cli --raw

1、String 

set name "runoob"

get name
"runoob"

上述例子中,name为键,runoob为值
一个键最大能存512MB

2、Hash

hmset myhash field1 "hello" field2 "world" 

hget myhash field1        取出了“hello”
hget myhash field2        取出了“world”

上述例子中,创建了 myhash 这个Hash 同时用 hmset 存了两个键值对,用 hget 根据 myhash 和 键 可以将值取出来(存可以一起,取只能一个个)
一个hash可以存2的23次方减一的键值对(约40多亿)


3、List

lpush runoob 123
lpush runoon 234 345

lrange runoob 0 2
“345” 0
“234” 1
“123” 2

上述例子中,存可以存一到多个,取可以根据存的顺序取出来,,根据给出的下标集合,来取
一个List可以存2的23次方减一个值(约40多亿)


4、Set

sadd runoob rabitmq
sadd runoob mongodb

smembers runoob
"rabitmq"
"mongodb"

上述例子中, sadd 是存, smembers 是取
set 是无序集合,每个值都只能存一次,再存无效

5、zset

zadd runoob 0 redis
zadd runoob 0 mongodb

zrangebyscore runoob 0 10

上述例子中, zadd 是存,zrangebyscore 是取,根据给出的下标集合,来取
zset是有序集合,每个元素都会关联一个double类型的分数,来为集合进行排序,double值可以从复

 

二、在java中实现使用Redis

1、导入

commons-pool2-2.4.2.jar

jedis-2.9.0.jar

下载链接:https://pan.baidu.com/s/1qik6cLVJ_d-37LSgA0BJEQ

 

2、实现 

下面的代码中,实现了String、Hash、List、Set、zset的存取,还有一个删除例子

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;

public class MainRedis {
    
    private static JedisPool pool;
    private static Jedis jedis;
    
    public static void main(String[] argn){
        // 初始化Redis连接池
        pool = new JedisPool(new JedisPoolConfig(), "127.0.0.1");
        // 从连接池中获取一个连接
        jedis = pool.getResource();
        
        //存取 String
        jedis.set("name", "runoob");
        System.out.println(jedis.get("name"));
        System.out.println("");
        
        
        
        //存取Hash
        Map<String, String> map = new HashMap<>();
        map.put("fineld", "one");
        map.put("this", "tokin");
        map.put("like", "baby");
        map.put("yes", "oh no");
        jedis.hmset("myhash", map);
        
        List<String> list = new ArrayList<String>();
        list.add("fineld");
        list.add("this");
        list.add("like");
        list.add("yes");
        list.add("no");//hash查询没有的返回空
        for(int i=0;i<list.size();i++){
            System.out.println(jedis.hget("myhash", list.get(i)));
        }
        System.out.println("");
        
        
        
        
        //存取List
        List<String> list2 = new ArrayList<>();
        list2.add("花花世界");
        list2.add("Illusory world");
        list2.add("Illusions are true");
        list2.add("Eternal");
        list2.add("Come on"); 
        for(int i=0;i<list2.size();i++){
            jedis.lpush("worlds", list2.get(i));
        }
        System.out.println(jedis.lrange("worlds", 0, 10));
        System.out.println("");
        
        
        
        //存取Set
        List<String> list3 = new ArrayList<>();
        list3.add("存取Set");
        list3.add("试试same");
        list3.add("same");//从输出可以看出,不能重复存
        list3.add("same");
        list3.add("nice");
        for(int i=0;i<list3.size();i++){
            jedis.sadd("same", list3.get(i));
        }
        System.out.println(jedis.smembers("same"));
        System.out.println("");
        
        
        
        //存取zset(sorted set)
        Map<String,Double> map2 = new HashMap<>();
        map2.put("第一", 0.0);
        map2.put("第二", 0.0);
        map2.put("第三", 0.0);
        map2.put("第四", 0.0); 
        map2.put("第五", 0.0);
        for(int i=0;i<map2.size();i++){
            jedis.zadd("ranking", map2); 
            //jedis.del("ranking");//清空数据
        }
        System.out.println(jedis.zrangeByScore("ranking", 0, 10));
        
    }
    
}

  • 5
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java使用Redis存取数据,你需要使用RedisJava客户端来与Redis服务器进行交互。以下是一个简单的示例代码: 1. 首先,你需要添加RedisJava客户端依赖。常用的Java Redis客户端有Jedis和Lettuce,你可以选择其一个。 对于Jedis,可以在项目的pom.xml文件添加以下依赖: ```xml <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>3.7.0</version> </dependency> ``` 对于Lettuce,可以在项目的pom.xml文件添加以下依赖: ```xml <dependency> <groupId>io.lettuce</groupId> <artifactId>lettuce-core</artifactId> <version>6.2.5.RELEASE</version> </dependency> ``` 2. 创建Redis连接并进行数据存取操作。 使用Jedis客户端的示例代码如下: ```java import redis.clients.jedis.Jedis; public class RedisExample { public static void main(String[] args) { // 创建Redis连接 Jedis jedis = new Jedis("localhost", 6379); // 存储数据 jedis.set("key", "value"); // 取数据 String value = jedis.get("key"); System.out.println(value); // 关闭连接 jedis.close(); } } ``` 使用Lettuce客户端的示例代码如下: ```java import io.lettuce.core.RedisClient; import io.lettuce.core.RedisURI; import io.lettuce.core.api.StatefulRedisConnection; import io.lettuce.core.api.sync.RedisCommands; public class RedisExample { public static void main(String[] args) { // 创建Redis连接 RedisURI uri = RedisURI.Builder.redis("localhost", 6379).build(); RedisClient client = RedisClient.create(uri); StatefulRedisConnection<String, String> connection = client.connect(); RedisCommands<String, String> commands = connection.sync(); // 存储数据 commands.set("key", "value"); // 取数据 String value = commands.get("key"); System.out.println(value); // 关闭连接 connection.close(); client.shutdown(); } } ``` 这是一个简单的示例,你可以根据自己的需求进行更复杂的数据存取操作。记得在使用完毕后关闭连接以释放资源。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值