2021.11.13笔记 redis和jedis

本文介绍了Redis的基本概念,包括下载安装、数据结构和常用命令。详细讲解了String、Hash、List、Set、SortedSet等数据结构的操作,并演示了使用Jedis进行连接和操作Redis的示例,包括连接池的使用。同时,提到了Redis的持久化方式RDB和AOF,以及Jedis的setex命令用于设置过期时间。
摘要由CSDN通过智能技术生成

redis概念

在这里插入图片描述

下载安装

https://github.com/MicrosoftArchive/redis/releases
注:官网下载的不能直接用。。用这个直接下载解压就可以。(点击里面最新版本的assets,然后msi还是zip,msi是安装流程,zip就是zip了。。)

各文件功能

在这里插入图片描述先打开server,然后别关,接着打开cli输入相应指令就可以了。

比如set zhangsan hanhan,就是把键值对zhangsan(key):hanhan(value)存储进去
接着,用get zhangsan就可以查出zhangsan(key)的value。

redis的数据结构

在这里插入图片描述
在这里插入图片描述

基本命令

1.String
存储:set key value
获取:get key
删除:del key(删除key和value)
2.hash
存储:hset key field value(field:value)
获取:hget key field;获取所有:hgetall key
删除:hdel key field
3.list
在这里插入图片描述
存储:lpush key value(从左边加入)
rpush key value(从右边加入)
获取:lrange key start end(范围获取)
删除:lpop key(删除列表最左边的元素并将元素返回)
rpop 同理
4.set(不允许重复)
存储:sadd key value
获取:smembers key:获取set集合中所有元素
删除:srem key value
顺序不一定
5.sortedset(不允许重复并且有序)
存储:zadd key score value
获取:zrange key start end(withscores 的话可以看到分数)
zrem key value

在这里插入图片描述
6.keys *:查询所有key
7.type key:获取键对应的value的类型

持久化

RDB

在这里插入图片描述
在这里插入图片描述

AOF(一般不用)

在这里插入图片描述

Jedis

入门

@Test
public void test() {
    Jedis jedis = new Jedis("localhost",6379);	//不传参数的话,默认是这里面的
    jedis.set("zhangsan1","hanhan");
    jedis.close();
}

setex(key,seconds,value):将key:value存储进去,然后seconds后删除。。这样可以来实现存储有时限的数据

具体语法参考redis

连接池

@Test
public void test() {
    JedisPool jedisPool = new JedisPool();
    Jedis resource = jedisPool.getResource();
    resource.set("xiaohong","haha");
    resource.close();
}

工具类(类似于JDBCUtils)

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

import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;

public class JedisUtils {
private static JedisPool jedisPool;
static {
    InputStream is = JedisUtils.class.getClassLoader().getResourceAsStream("infor.properties");
    Properties properties = new Properties();

    try {
        properties.load(is);
    } catch (IOException e) {
        e.printStackTrace();
    }

    JedisPoolConfig jdisCon = new JedisPoolConfig();
    jdisCon.setMaxTotal(Integer.parseInt(properties.getProperty("maxNum")));
    jedisPool = new JedisPool(jdisCon,properties.getProperty("host"),Integer.parseInt(properties.getProperty("port")));
}

public static Jedis jedisReour(JedisPool jedisPool) {
    return jedisPool.getResource();
}
}

当然这里的properties需要自己去指定,比如用到的maxNum,host(localhost),以及port(端口)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值