Redis 简介

85 阅读3分钟

Redis的话,这东西其实说难很难,说简单也简单,想深入了解的话是比较难的,但是想用起来的话还算简单。

如果是Redis 集群的话,还要考虑很多问题。

今天讲一下 单机版 Redis

Redis 其实就是:高性能键值对数据库

A、支持的键值数据类型: 1、字符串类型

2、列表类型

3、游戏集合类型

4、散列类型

5、集合类型

B、Redis 的应用场景: 1、缓存(最广泛)

数据查询、新闻商品的内容,放在缓存中。聊天室的在线好友列表

2、网站访问统计

3、任务队列

秒杀、抢购

4、数据过期处理

5、应用排行榜

6、分布式集群架构中的session的分离

C、安装 Windows 环境下:github.com/MSOpenTech/…

Redis 支持 32 位和 64 位。这个需要根据你系统平台的实际情况选择,这里我们下载 Redis-x64-xxx.zip压缩包到 C 盘,解压后,将文件夹重新命名为 redis。

打开文件,内容如下:

打开一个 cmd 窗口 使用 cd 命令切换目录到 C:\redis 运行:

redis-server.exe redis.windows.conf

如果想方便的话,可以把 redis 的路径加到系统的环境变量里,这样就省得再输路径了,后面的那个 redis.windows.conf 可以省略,如果省略,会启用默认的。输入之后,会显示如下界面:

这时候另启一个 cmd 窗口,原来的不要关闭,不然就无法访问服务端了。

切换到 redis 目录下运行:

redis-cli.exe -h 127.0.0.1 -p 6379

D、使用 Redis 项目中加入 redis依赖:

<properties>
        <redis.util.version>0.0.3</redis.util.version>
    </properties>
 
    <dependencies>
    	<dependency>
	    <groupId>com.cmcc.iot.redistool</groupId>
	    <artifactId>redis-util</artifactId>
	    <version>${redis.util.version}</version>
	</dependency>
    	<!-- jedis -->
        <dependency>
            <groupId>redis.clients</groupId>
            <artifactId>jedis</artifactId>
            <version>${jedis.version}</version>
        </dependency>
     </dependencies>

连接到 Redis 服务:

import redis.clients.jedis.Jedis;
 
public class RedisJava {
    public static void main(String[] args) {
        //连接本地的 Redis 服务
        Jedis jedis = new Jedis("localhost");
        System.out.println("连接成功");
        //查看服务是否运行
        System.out.println("服务正在运行: " + jedis.ping());
    }
}

执行结果:

连接成功 服务正在运行: PONG a)Redis 储存String 类型数据:

import redis.clients.jedis.Jedis;
 
public class RedisStringJava {
    public static void main(String[] args) {
        //连接本地的 Redis 服务
        Jedis jedis = new Jedis("localhost");
        System.out.println("连接成功");
        //设置 redis 字符串数据
        jedis.set("website", "https://blog.csdn.net/qq_39415129");
        // 获取存储的数据并输出
        System.out.println("redis 存储的字符串为: "+ jedis.get("website"));
    }
}

执行结果:

连接成功
redis 存储的字符串为: https://blog.csdn.net/qq_39415129

b)Redis 储存 List 类型数据:

import java.util.List;
import redis.clients.jedis.Jedis;
 
public class RedisListJava {
    public static void main(String[] args) {
        //连接本地的 Redis 服务
        Jedis jedis = new Jedis("localhost");
        System.out.println("连接成功");
        //存储数据到列表中
        jedis.lpush("site-list", "Runoob");
        jedis.lpush("site-list", "Google");
        jedis.lpush("site-list", "Taobao");
        // 获取存储的数据并输出
        List<String> list = jedis.lrange("site-list", 0 ,2);
        for(int i = 0; i < list.size(); i++) {
            System.out.println("列表项为: " + list.get(i));
        }
    }
}

执行结果:

连接成功
列表项为: Taobao
列表项为: Google
列表项为: Runoob

c)Redis 储存 Keys:

import java.util.Iterator;
import java.util.Set;
import redis.clients.jedis.Jedis;
 
public class RedisKeyJava {
    public static void main(String[] args) {
        //连接本地的 Redis 服务
        Jedis jedis = new Jedis("localhost");
        System.out.println("连接成功");
 
        // 获取数据并输出
        Set<String> keys = jedis.keys("*"); 
        Iterator<String> it = keys.iterator() ;   
        while(it.hasNext()){   
            String key = it.next();   
            System.out.println(key);   
        }
    }
}

执行结果:

连接成功
runoobkey
site-list

思路清晰点:redis 其实就是一个用来存储 key-value 等形式的数据的数据库。

对于后面需要用到的数据进行存储到 Redis 中,要用的时候直接去获取。

当然目前推荐使用的是 Jedis ,因为 Jedis 是 Redis 的 Java 客户端。可以通过 Jedis 对 Redis 进行操作。

JedisPool 连接池也可以极大的用于项目中,实现缓存数据读取的高效率。

我是进阶的球儿,大家一起2019年的爬坑历程。感觉分享很给力的话给个赞,谢谢!!!有问题也可以下方留言沟通。