Windows10安装使用redis

Windows10安装使用redis

一、下载redis

地址:https://github.com/microsoftarchive/redis/releases
在这里插入图片描述

二、解压安装

在这里插入图片描述

打开redis.windows-service.conf文件修改密码
在这里插入图片描述

打开命令行窗口,安装和注册redis(安装命令和启动命令均需要在redis的根目录下执行)

安装命令

redis-server.exe --service-install redis.windows.conf --loglevel verbose

启动命令

redis-server.exe  --service-start

关闭命令

redis-server.exe  --service-stop

在这里插入图片描述

启动后可在服务中查看是否启动成功
(右击我的电脑----管理----服务和应用程序----服务----)
在这里插入图片描述

三、命令行使用redis

新建一个命令行窗口执行下述命令

redis-cli.exe -h 127.0.0.1 -p 6379

在这里插入图片描述

四、使用Jedis操作redis

新建Jedis对象连接redis

public static void main(String[] args) {
    //连接本地redis,端口默认6379
    Jedis jedis = new Jedis("127.0.0.1");
    //获得本地redis端口号
    System.out.println(jedis.getClient().getPort());
    //测试
    System.out.println(jedis.ping());
}

在这里插入图片描述

操作String类型
    //操作String
    public static void operaString(Jedis jedis){
        //添加一条数据
        jedis.set("username","LiMing");
        jedis.set("age","18");
        //添加多条数据
        //参数奇数为key,偶数为value
        jedis.mset("hobby","football","sex","man");
        //获取一条数据
        System.out.println(jedis.get("username"));
        //获取多条数据
        List<String> mget = jedis.mget("username", "age", "sex");
        for (String s : mget) {
            System.out.print(s+",");
        }
        //删除
        //jedis.del("username");
    }

在这里插入图片描述

操作List类型
    //操作list类型
    public static void operalist(Jedis jedis){
        //从左侧添加
        jedis.lpush("number","one","two","three","four","five");
        //从右侧添加
        jedis.rpush("number","six","seven","eight");
        //获取下标范围内的值
        List<String> number = jedis.lrange("number", 1, 3);
        for (String s : number) {
            System.out.println(s);
        }
        //获取总条数
        Long llen = jedis.llen("number");
        System.out.println("总数:" + llen);
        // 删除单条 删除列表中第一次出现的 two
        // jedis.lrem("number", 1, "two");
        // 删除多条
        // jedis.del("number");
    }

在这里插入图片描述

操作Hash类型
    //操作hash类型
    public static void operahash(Jedis jedis){
        /**
         * 添加一条数据
         * 参数一:redis的key值
         * 参数二:hash的key值
         * 参数三:hash的value值
         */
        jedis.hset("exphash","username","ZhangSan");
        //添加多条数据
        Map<String,String> map = new HashMap();
        map.put("age","20");
        map.put("sex","man");
        map.put("hobby","swimming");
        jedis.hmset("exphash",map);
        //获取一条数据
        String name = jedis.hget("exphash","username");
        System.out.println(name);
        //获取多条数据
        List<String> list = jedis.hmget("exphash", "age", "sex", "hobby");
        for (String s : list) {
            System.out.println(s);
        }
        //获取hash中的所有数据
        Map<String, String> exphash = jedis.hgetAll("exphash");
        for (Map.Entry<String, String> entry : exphash.entrySet()) {
            System.out.println("key:"+entry.getKey()+"value:"+entry.getValue());
        }
        //删除
        //jedis.hdel("exphash","username");
    }

在这里插入图片描述

操作Set类型
//操作set类型
public static void operaset(Jedis jedis){
    //存值
    jedis.sadd("expset","aaa","bbb","ccc","ddd","eee");
    //取出所有值
    Set<String> expset = jedis.smembers("expset");
    for (String s : expset) {
        System.out.print(s + ",");
    }
    // 删除
    //jedis.srem("letters", "aaa", "bbb");
}

在这里插入图片描述

操作SortSet类型
//操作sortset类型
public static void operasortset(Jedis jedis){
    Map<String,Double> expsortset = new HashMap();
    expsortset.put("set1",1D);
    expsortset.put("set2",2D);
    expsortset.put("set3",3D);
    expsortset.put("set4",4D);
    expsortset.put("set5",5D);
    //添加数据
    jedis.zadd("expsortset",expsortset);
    // 获取数据
    Set<String> scores = jedis.zrange("expsortset", 1, 3);
    for (String score: scores) {
        System.out.print(score+",");
    }
    // 获取总条数
    Long total = jedis.zcard("expsortset");
    System.out.println("总数:" + total);
    // 删除
    //jedis.zrem("expsortset", "set1", "set3");
}

库操作
//库操作
public static void testAll(Jedis jedis){
    //获得当前库的key数量
    System.out.println(jedis.dbSize());
    //获得所有key的名称
    Set<String> keys = jedis.keys("*");
    for (String key : keys) {
        System.out.println(key);
    }
}
事务
//事务
public static void operamult(Jedis jedis){
    Transaction tx = jedis.multi();
    // 开启事务
    tx.set("mult", "11111");
    // 提交事务
    tx.exec();
    // 回滚事务
    tx.discard();
}
序列化对象存储
对象类
class User implements Serializable{

    private static final long serialVersionUID = -5953057745560963565L;
    private String username;
    private Integer age;
    private String sex;
    public String getUsername() {
        return username;
    }
    public void setUsername(String username) {
        this.username = username;
    }
    public Integer getAge() {
        return age;
    }
    public void setAge(Integer age) {
        this.age = age;
    }
    public String getSex() {
        return sex;
    }
    public void setSex(String sex) {
        this.sex = sex;
    }
    @Override
    public String toString() {
        return "User{" +
                "username='" + username + '\'' +
                ", age=" + age +
                ", sex='" + sex + '\'' +
                '}';
    }
}
序列化工具类
//序列化工具类
class serialUtils{
    //序列化
    public static byte[] serialize(Object object) {
        //对象操作流
        ObjectOutputStream oos = null;
        //字节数组输出流对象
        ByteArrayOutputStream BOutput = null;
        try {
            BOutput = new ByteArrayOutputStream();
            oos = new ObjectOutputStream(BOutput);
            //将对象写入操作流
            oos.writeObject(object);
            //将操作流转换为字节数组
            byte[] bytes = BOutput.toByteArray();
            return bytes;
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }
    //反序列化
    public static Object unserialize(byte[] bytes) {
        if(bytes == null){
            return null;
        }
        ByteArrayInputStream BInput = null;
        try {
            BInput = new ByteArrayInputStream(bytes);
            ObjectInputStream ois = new ObjectInputStream(BInput);
            return ois.readObject();
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }
}
测试
public static void main(String[] args) {
    //连接redis
    Jedis jedis = new Jedis("127.0.0.1");
    //构建对象
    User user = new User();
    user.setKeyid("user1");
    user.setUsername("ZhangSan");
    user.setAge(15);
    user.setSex("man");
    //序列化信息
    byte[] key = serialUtils.serialize(user.getKeyid());
    byte[] value = serialUtils.serialize(user);
    //存储
    jedis.set(key,value);
    //取出
    byte[] bytes = jedis.get(key);
    //反序列化
    User resultuser = (User) serialUtils.unserialize(bytes);
    System.out.println(resultuser);
}

在这里插入图片描述

参考
https://www.cnblogs.com/lusaisai/p/12546957.html

<think>好的,我现在需要帮助用户了解在Windows环境下安装使用Redis的教程。首先,我应该回顾用户提供的三个引用内容,确保信息准确并正确引用。根据系统级指令,回答需要使用中文,结构清晰,分步骤说明,并在适当的位置添加引用标识。 首先,下载Redis。用户提到的引用1和2都提到了下载步骤,需要说明下载压缩包并移动到安装目录。引用1提到下载压缩包后移动到安装目录,而引用2强调下载适合Windows的版本。这里需要确认是否直接下载微软的版本,因为官方Redis不支持Windows,但可能有其他版本如微软维护的。需要指出这一点以避免用户混淆。 接下来是安装部分。引用1提到解压到安装目录,比如D:\Redis。可能需要指导用户解压步骤,并确保路径没有空格或特殊字符,避免潜在问题。 然后是配置Redis。引用1提到配置环境变量和后台服务,引用3提到修改配置文件如redis.conf,包括IP和端口,以及安装多个实例的情况。需要分步骤说明配置环境变量,如何编辑配置文件,设置后台服务。注意引用3中提到的拷贝文件夹和修改配置文件的例子,可以建议用户如果需要多个实例可以参考此方法。 启动和使用部分,引用1和3提到启动服务、命令行操作。需要说明如何启动服务,使用redis-cli连接,以及基本命令如set和get。此外,可能需要提醒用户关于持久化配置或安全设置,但引用内容中没有详细提到,可以简要提及或建议查阅更多资料。 最后生成相关问题,根据用户可能感兴趣的后续步骤,比如性能优化、配置参数、集群搭建等,结合引用中的内容,比如引用3提到的多实例配置,可以生成相关问题。 在整理步骤时,要确保每个部分都正确引用来源,比如下载步骤引用1和2,配置环境变量引用1,多实例引用3等。同时,注意使用正确的LaTeX格式,虽然这个问题可能涉及较少数学公式,但如果有变量或代码,需要正确应用格式。 需要检查是否有遗漏的步骤,例如是否需要安装特定运行时库,或者权限问题,但根据提供的引用内容,可能不需要。用户的问题集中在安装使用,所以保持步骤简明,基于提供的引用内容即可。 总结步骤:下载、安装、配置环境变量、配置后台服务、启动使用、多实例配置(可选)。每个步骤后添加对应的引用标识,确保用户知道信息来源。同时,注意可能的常见问题,比如路径选择,服务安装命令是否正确,以及如何验证安装成功。 最后,生成的相关问题要围绕安装后的使用、配置优化、多实例管理等,帮助用户进一步学习。</think>### Windows环境下Redis安装使用教程 #### 一、下载Redis 1. **获取Redis压缩包** Redis官方未提供Windows版本,但可通过微软维护的分支下载。访问[Redis for Windows发布页](https://github.com/microsoftarchive/redis/releases),选择最新版本(如`Redis-x64-3.0.504.zip`)下载[^2]。 2. **移动压缩包** 将下载的压缩包移动到目标安装目录,例如`D:\Redis`[^1]。 --- #### 二、安装Redis 1. **解压文件** 右键解压压缩包至安装目录,目录结构应包含以下文件: ``` redis-server.exe # 服务端程序 redis-cli.exe # 客户端工具 redis.windows.conf # 配置文件 ``` --- #### 三、配置Redis 1. **配置环境变量(可选)** 将Redis安装路径(如`D:\Redis`)添加到系统环境变量`Path`,方便命令行直接调用。 2. **修改配置文件** 打开`redis.windows.conf`,按需调整参数: ```conf bind 127.0.0.1 # 绑定本地IP port 6379 # 默认端口 maxmemory 256mb # 限制内存使用 ``` 3. **注册后台服务** 以管理员身份运行命令提示符,执行以下命令安装服务: ```bash redis-server --service-install redis.windows.conf --service-name Redis ``` --- #### 四、启动与使用 1. **启动Redis服务** ```bash redis-server --service-start --service-name Redis ``` 2. **命令行操作** 打开新终端,使用`redis-cli`连接服务: ```bash redis-cli -h 127.0.0.1 -p 6379 set key1 "Hello" # 写入数据 get key1 # 读取数据 ``` 3. **多实例配置(可选)** 复制Redis安装目录到新路径(如`E:\Redis2`),修改配置文件中的端口号,重复服务注册步骤即可[^3]。 --- #### 五、验证安装 1. **检查服务状态** 执行命令`redis-cli ping`,若返回`PONG`则表明服务运行正常。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值