java redis实战

系列文章

Redis第一天

Redis第二天

Redis第三天

Redis第四天

Redis第五天

java Redis实战

​ 很多人,可能看过Redis相关的教程,或者书籍,知道了一些关于Redis的基础知识,但是也只是了解了Redis是什么,但是并没有在实际的编写代码的过程中使用到Redis,现在就跟随者我的步伐,进入到Redis实战中吧。

基础回顾

Redis的数据类型

​ Redis支持五种数据类型,分别是:String、Hash、List、Set以及Zset

String

​ 是redis中的最基本的数据类,可以理解成和Memcached(一套分布式的高速缓存系统)一模一样的类型,一个key对应一个value

​ 是二进制安全的,即可以包含任何数据,比如jpg图片或者序列化的对象,一个键可以最大存储512MB

set a “b”

get a

Hash

​ Redis hash是一个键名对集合,也是一个string类型的field和value的映射表,hash特别适合用于存储对象

hmset users:1 userage 18 username zhonghu

hgetall user : 1

List

​ Redis的列表是简单的字符串列表,按照插入顺序排列,可以添加一个元素到列表的头部或尾部

Lpush 插入

Lrange 查看

Set

​ Redis的Set是无序集合,集合是通过哈希表实现的,所以添加、删除、查找的复杂度都是O(1)

sadd:添加一个String元素到key对应的set集合中,成功返回1已存在返回0 key对应的set不存在返回错误

smembers 查看

Zset

​ Redis的Zset是string类型的有序集合,不允许重复的成员,每个元素都会关联一个double类型的分数

​ zset的成员是唯一的,但是分数(score)却可以重复

在java中使用redis

引入redis驱动包:

Redis驱动包地址

或者在maven中直接引入

<!-- https://mvnrepository.com/artifact/redis.clients/jedis -->
<dependency>
    <groupId>redis.clients</groupId>
    <artifactId>jedis</artifactId>
    <version>2.9.0</version>
</dependency>

测试服务连接

​ 首先引入jar包:

import redis.clients.jedis.Jedis;

​ 通过ping命脉测试服务状态

public class RedisTest {
    public static void main(String[] args) {
        // 连接到笨的的redis服务
        Jedis jedis = new Jedis("127.0.0.1");
        System.out.println("连接成功");
        System.out.println("服务器正在运行"+jedis.ping());
    }
}

结果:

存储数据


import redis.clients.jedis.Jedis;

import java.util.Iterator;
import java.util.List;
import java.util.Set;

public class RedisTest {
    public static void main(String[] args) {
        // 连接到笨的的redis服务
        Jedis jedis = new Jedis("127.0.0.1");
        System.out.println("连接成功");
        System.out.println("服务器正在运行"+jedis.ping());
        // 设置redis 字符串数据
        jedis.set("name","zhonghu");
        System.out.println("redis 存储的字符串为:"+jedis.get("name"));
        System.out.println("============================================");
        // 设置redis list数据
        jedis.lpush("list","redis");
        jedis.lpush("list","java");
        jedis.lpush("list","zhonghu");
        // 获取存储的数据并输出
        List<String> list = jedis.lrange("list",0,2);
        for(String i:list){
            System.out.println(i);
        }
        System.out.println("============================================");
        // 设置redis set数据
        jedis.sadd("set","hello");
        jedis.sadd("set","world");
        jedis.sadd("set","zhonghu");
        // 获取数据并输出
        Set<String> keys=jedis.smembers("set");
        // 定义迭代器输出
        Iterator<String> it = keys.iterator();
        while (it.hasNext()){
            System.out.println(it.next());
        }
    }
}

结果

it = keys.iterator();
while (it.hasNext()){
System.out.println(it.next());
}
}
}


结果

![](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2lzemhvbmdodS9QaWN0dXJlLWJlZC9tYXN0ZXIvaW1nLzIwMjAwNTEyMTY0NjAxLnBuZw?x-oss-process=image/format,png)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章