windows环境下Redis的应用

Redis(REmote DIctionary Server)是一个由Salvatore Sanfilippo写的key-value存储系统。

Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。

它通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Map), 列表(list), 集合(sets) 和 有序集合(sorted sets)等类型。

Redis下载地址:https://github.com/MSOpenTech/redis/releases

根据你系统平台的实际情况选择对应的版本,例如:windows环境下可以下载 Redis-x64-xxx.zip版本,解压到 C 盘并重新命名文件夹为 redis即可使用(例如:c:\redis)。

启动服务端 - 打开cmd窗口将路径切换到c:\redis下,输入命令:redis-server.exe redis.windows.conf  启动redis服务端。

如需启动客户端 - 另外打开一个cmd窗口并将路径切换到c:\redis下,输入命令: redis-cli.exe -h 127.0.0.1 -p 6379 则客户端启动,我们可以再客户端通过redis命令使用。

例如:

设置键值对 set firstKey hello

取出键值对 get firstKey

Redis在Java中作为缓存,常见操作共用方法列举:

import java.util.concurrent.TimeUnit;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.data.redis.core.ValueOperations;
import org.springframework.stereotype.Component; 

@Component
public class RedisSentinelUtil {
    @Autowired
    //操作字符串的template,StringRedisTemplate是RedisTemplate的一个子集
    private StringRedisTemplate stringRedisTemplate;  

    @Autowired
    // RedisTemplate,可以进行所有的操作
    private RedisTemplate<Object,Object> redisTemplate;  

    public void setCachesData(byte[] key, Object  value){
       redisTemplate.opsForValue().set(key, value);
    }

    /**
     *  设值并设置失效时间
     * @param key       需保存的key
     * @param value     需保存的值
     * @param timeOut   失效时间
     * @return
     */
    public void setCachesData(byte[] key, Object  value,int timeOut){
        redisTemplate.opsForValue().set(key, SerializaUtil.serialize(value),timeOut,TimeUnit.SECONDS);
    }

    public void setCachesData(String key, String value){
        stringRedisTemplate.opsForValue().set(key, value);
    }

    public boolean setnx(String key, String value){
        return stringRedisTemplate.opsForValue().setIfAbsent(key, value);
    }

    public void setCachesData(String key, String value,int timeOut){
         ValueOperations<String, String> ops = this.stringRedisTemplate.opsForValue();
         boolean bExistent = this.stringRedisTemplate.hasKey(key);
         if (bExistent) {
             System.out.println("this key is bExistent!");
         }else{
             ops.set(key, value, timeOut,TimeUnit.SECONDS);
         }
    }

    /**
     *  key是否存在
     * @param key   需验证的key
     * @return      是否
     */
    public Boolean isExistsKey(String key){
        return stringRedisTemplate.hasKey(key);
    }
    /**
     *  key是否存在
     * @param key   需验证的key
     * @return      是否
     */
    public Boolean isExistsKey(byte[] key){
        return redisTemplate.hasKey(key);
    }

    /**
     * 失效
     *
     * @param key   保存的key
     * @param seconds 秒
     */
    public Boolean setxpireData(String key, int seconds){
        return stringRedisTemplate.expire(key, seconds,TimeUnit.SECONDS);
    }

    /**
     * 失效
     * @param key   保存的key
     * @param seconds 秒
     */
    public Boolean setxpireData(byte[] key, int seconds){
        return redisTemplate.expire(key, seconds,TimeUnit.SECONDS);
    }

    /**
     * 从缓存中获取数据
     * @param key
     * @return
     */
    public String getValue(String key) {
        if (key == null)
            return "";
          String v = stringRedisTemplate.opsForValue().get(key);
          return (v == null) ? "" : v;
    }

    /**
     * 从缓存中获取数据
     * @param key
     * @return
     */
    public String[] getValues(String key) {
             if (key == null)
                return null;
             if(stringRedisTemplate.opsForValue().get(key)!=null){
                  String[] s = stringRedisTemplate.opsForValue().get(key).split(",");
                  if (null!=s && s.length>0)
                      return s;
             }
              return null;
    }

    /**
     * 从缓存中获取数据
     * @param key
     * @return
     */
    public Object getValue(byte[] key) {
        return redisTemplate.opsForValue().get(key);
    }

    /**
     * 从缓存中删除数据
     * @param key
     * @return
     */
    public void removeValue(String key) {
        stringRedisTemplate.delete(key);
    }
    /**
     * 从缓存中删除数据
     * @param key
     * @return
     */
    public void removeValue(byte[] key) {
        redisTemplate.delete(key);
    }

}

原文地址:https://www.cnblogs.com/big-xuzhou/p/8641486.html

时间: 2024-08-26 09:56:57

windows环境下Redis的应用的相关文章

Windows环境下Redis

Redis 是一个高性能的key-value数据库, 使用内存作为主存储,数据访问速度非常快,当然它也提供了两种机制支持数据持久化存储.比较遗憾的是,Redis项目不直接支持Windows,Windows版项目是由微软开放技术团队建立和维护一个实验性项目(支持32,64位),所以并不适用生产环境,但可在Windows环境下用于开发测试. 1.下载安装 猛戳这里就到了开源首页,下载源码包,解压ZIP包后进入msvs\bin\release文件夹有三个文件分别对应32,64位,windows服务三个

Windows环境下redis 配置文件中设置的密码无效

当我们安装了redis服务后,发现在其配置文件redis.windows.conf(或redis.conf)设置了密码:requirepass ****** 但是打开redis-cli.exe后输入命令config get requirepass发现: 这说明配置文件中密码设置后没有生效. 原因:问题在于我们启动redis服务时是直接在其安装目录中双击redis-server.exe启动的,这样启动的结果是,配置文件不会指定,此时redis并不会自动使用安装目录下的redis.windows.c

Windows环境下使用Redis缓存工具的图文详细方法

网上找了两篇关于Redis的博客,记录下! Java 使用Redis缓存工具的图文详细方法 Windows环境下使用Redis缓存工具的图文详细方法

Windows环境下搭建Redis

当网站从数据库加载大量数据的时候会遇到页面响应速度特别缓慢的情形,为了能够更快的从数据库中取得数据加载至内存中,可以考虑使用Memcached来做数据缓存,或者使用内存数据库(比如Redis)将数据库的内容加载至内存中以键值对的形式存储,当页面请求数据的时候可以直接从内存数据库中获取,从而提高了网站的响应速度. Redis在官方文档中声明推荐在Linux环境下安装部署,但实际情况下会有很多开发者需要在Windows环境下解决以上类似的问题并想要采取Redis方案来解决问题,好在微软开放了这方面的

在windows环境下安装redis和phpredis的扩展

在windows环境下安装redis和phpredis的扩展 1.首先配置php: 需要在windows的集成环境中找到php的扩展文件夹,ext,然后在网上寻找自己的php对应的.dll文件 比如说的我的phpinfo里面显示是Arti..:x86,所以需要选择X86,这个跟系统无关,我的系统还是64位的呢! 然后我的集成环境是ts而不是nts这个都可以在phpinfo文件中找到! 下载文件php_igbinary.dll,php_redis.dll 然后修改配置文件php.ini(php文件

windows环境下通过c++使用redis

1.Windows下Redis的安装使用 Redis是一个key-value存储系统.Redis的出现,很大程度补偿了memcached这类key/value存储的不足,在部 分场合可以对关系数据库起到很好的补充作用.本文中,作者分享了在Windows下进行安装和使用Redis的技巧. Redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(sortedset --有序集合)

Windows PHP 环境下 Redis开发环境搭建

1.redis简介 redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(sorted set --有序集合)和hashs(哈希类型).这些数据类型都支持push/pop.add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的.在此基础上,redis支持各种不同方式的排序.与memcached一样,为了保证效率,数据都是缓存在内存中.区别的是redi

windows环境下搭建redis集群

Redis.Ruby语言运行环境.Redis的Ruby驱动redis-xxxx.gem.创建Redis集群的工具redis-trib.rb(注意:Redis集群需要至少3个以上节点,低于3个无法创建) 1.下载(zip格式)并安装Redis:(https://github.com/MSOpenTech/redis/releases/) 1)将下载到的Redis-x64-3.0.504.zip解压即可,为了方便使用,建议放在盘符根目录下,并修改目录名为Redis,如:D:\Redis 2)通过配置

定制windows环境下cmd替代软件ConEmu

定制windows环境下cmd替代软件ConEmu 公认的是Windows环境下命令行界面太难用. 不管是cmd还是powershell都不顺手!!窗口宽度不能全屏,字体太难看还不能调整,窗口背景不能更换,永远的黑白配,最痛苦的是复制和粘贴.都不知道MS是怎么想的?搞个这么个反人类的东西出来,还万年不变,从Windows诞生到Windows7不论是桌面版还是服务器版都一样,到了windows8/windows10换成powershell一样的鸡肋. 在百度搜了一下,找到cmd的替代软件conem