前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。

1. 在网上下载 windows 版本 的Redis  。下载了直接解压出来 :

2. 双击 redis-server.exe 启动服务(如下图),使用中就一直不要关闭这个窗口。(也可cdm命令中设置电脑开机自启动,就不用每次手动开启这个窗口)

3.   redis 配置:(任由你配置在哪个properties文件中,比如是A.properties文件)

我是配置在dbconfig.properties文件中的。

说明:

redis.host    --------  IP地址 , 如果是本机就127.0.0.1 。   如果是公司服务器就配置服务器IP。

redis.port     --------  jedis 端口号,默认为 6379。

其余都使用默认配置,不用更改。

#redis
redis.host=127.0.0.1
redis.port=6379redis.maxTotal=300
redis.maxIdle=10
redis.numTestsPerEvictionRun=1024
redis.timeBetweenEvictionRunsMillis=30000
redis.minEvictableIdleTimeMillis=1800000
redis.softMinEvictableIdleTimeMillis=10000
redis.maxWaitMillis=1500
redis.testOnBorrow=true
redis.testWhileIdle=true
redis.blockWhenExhausted=false

4.  spring配置文件中的配置:(任由你放在spring的哪个配置文件中,比如是B.xml 文件。但一定要在B.xml 中引入A.properties )

 <!-- 引入配置文件:dbconfig.properties --><context:property-placeholder location="classpath:dbconfig.properties" /><!-- jedis连接池配置 --><bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig"><!-- 最大连接数 --><property name="maxTotal" value="${redis.maxTotal}" /><!-- 最大空闲连接数 --><property name="maxIdle" value="${redis.maxIdle}" /><!-- 每次释放连接的最大数目 --><property name="numTestsPerEvictionRun" value="${redis.numTestsPerEvictionRun}" /><!-- 释放连接的扫描间隔(毫秒) --><property name="timeBetweenEvictionRunsMillis" value="${redis.timeBetweenEvictionRunsMillis}" /><!-- 连接最小空闲时间 --><property name="minEvictableIdleTimeMillis" value="${redis.minEvictableIdleTimeMillis}" /><!-- 连接空闲多久后释放, 当空闲时间>该值 且 空闲连接>最大空闲连接数 时直接释放 --><property name="softMinEvictableIdleTimeMillis" value="${redis.softMinEvictableIdleTimeMillis}" /><!-- 获取连接时的最大等待毫秒数,小于零:阻塞不确定的时间,默认-1 --><property name="maxWaitMillis" value="${redis.maxWaitMillis}" /><!-- 在获取连接的时候检查有效性, 默认false --><property name="testOnBorrow" value="${redis.testOnBorrow}" /><!-- 在空闲时检查有效性, 默认false --><property name="testWhileIdle" value="${redis.testWhileIdle}" /><!-- 连接耗尽时是否阻塞, false报异常,ture阻塞直到超时, 默认true --><property name="blockWhenExhausted" value="${redis.blockWhenExhausted}" /></bean><!-- jedis客户端单机版 --><bean id="redisClient" class="redis.clients.jedis.JedisPool"><constructor-arg name="host" value="${redis.host}"></constructor-arg><constructor-arg name="port" value="${redis.port}"></constructor-arg><constructor-arg name="poolConfig" ref="jedisPoolConfig"></constructor-arg></bean><!-- 引用工程中自己书写的redis常用接口实现类 --><bean id="_jedisClient" class="com.redis.impl.JedisClientSingle"/>
<!-- 引入配置文件:dbconfig.properties --><context:property-placeholder location="classpath:dbconfig.properties" /><!-- jedis连接池配置 --><bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig"><!-- 最大连接数 --><property name="maxTotal" value="${redis.maxTotal}" /><!-- 最大空闲连接数 --><property name="maxIdle" value="${redis.maxIdle}" /><!-- 每次释放连接的最大数目 --><property name="numTestsPerEvictionRun" value="${redis.numTestsPerEvictionRun}" /><!-- 释放连接的扫描间隔(毫秒) --><property name="timeBetweenEvictionRunsMillis" value="${redis.timeBetweenEvictionRunsMillis}" /><!-- 连接最小空闲时间 --><property name="minEvictableIdleTimeMillis" value="${redis.minEvictableIdleTimeMillis}" /><!-- 连接空闲多久后释放, 当空闲时间>该值 且 空闲连接>最大空闲连接数 时直接释放 --><property name="softMinEvictableIdleTimeMillis" value="${redis.softMinEvictableIdleTimeMillis}" /><!-- 获取连接时的最大等待毫秒数,小于零:阻塞不确定的时间,默认-1 --><property name="maxWaitMillis" value="${redis.maxWaitMillis}" /><!-- 在获取连接的时候检查有效性, 默认false --><property name="testOnBorrow" value="${redis.testOnBorrow}" /><!-- 在空闲时检查有效性, 默认false --><property name="testWhileIdle" value="${redis.testWhileIdle}" /><!-- 连接耗尽时是否阻塞, false报异常,ture阻塞直到超时, 默认true --><property name="blockWhenExhausted" value="${redis.blockWhenExhausted}" /></bean><!-- jedis客户端单机版 --><bean id="redisClient" class="redis.clients.jedis.JedisPool"><constructor-arg name="host" value="${redis.host}"></constructor-arg><constructor-arg name="port" value="${redis.port}"></constructor-arg><constructor-arg name="poolConfig" ref="jedisPoolConfig"></constructor-arg></bean><!-- 引用工程中自己书写的redis常用接口实现类 --><bean id="_jedisClient" class="com.redis.impl.JedisClientSingle"/>

5.   maven  依赖:

     <!-- redis --><dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId><version>2.7.2</version></dependency><!-- redis --><dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId><version>2.7.2</version></dependency>

6.  书写的redis常用接口及其实现类:(这个主要看你需要哪些,不用的可以不定义)

接口:

package com.redis;/*** redis java api 常用接口* @author JiangYu*/
public interface JedisClient {/*** 获取string缓存值* @param key* @return*/String get(String key);/*** 设置string缓存值* @param key* @param value* @param second* @return*/String set(String key, String value);/*** 设置string缓存值带失效时间* @param key* @param value* @param second* @return*/String set(String key, String value, int second);/*** 获取hash缓存值* @param hkey* @param key* @return*/String hget(String hkey, String key);/*** 设置hash缓存值* @param hkey* @param key* @param value* @return*/long hset(String hkey, String key, String value);/*** 递增缓存值* @param key* @return*/long incr(String key);/*** 设置缓存值有效时间* @param key* @param second* @return*/long expire(String key, int second);/*** 获取缓存值失效时间* @param key* @return*/long ttl(String key);/*** 删除string缓存值* @param key* @return*/long del(String key);/*** 批量删除以string为前缀的key * @param key* @return*/void batchDel(String key);/*** 删除hash缓存值* @param hkey* @param key* @return*/long hdel(String hkey, String key);/*** 判断key是否存在* @param key* @return*/boolean exists(String key);/*** 清空缓存数据* @return*/boolean clear();
}

实现类:

package com.redis.impl;import java.util.Iterator;
import java.util.Set;import org.springframework.beans.factory.annotation.Autowired;import com.redis.JedisClient;import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;/*** redis 常用接口实现* @author JiangYu**/
public class JedisClientSingle implements JedisClient {@Autowiredprivate JedisPool jedisPool;/*** 获取string缓存值* @param key* @return*/@Overridepublic String get(String key) {Jedis jedis = jedisPool.getResource();String string = jedis.get(key);jedis.close();return string;}/*** 设置string缓存值* @param key* @param value* @param second* @return*/@Overridepublic String set(String key, String value) {Jedis jedis = jedisPool.getResource();String string = jedis.set(key, value);jedis.close();return string;}/*** 设置string缓存值带失效时间* @param key* @param value* @param second* @return*/@Overridepublic String set(String key, String value, int seconds) {Jedis jedis = jedisPool.getResource();String string = jedis.set(key, value);jedis.expire(key, seconds);jedis.close();return string;}/*** 获取hash缓存值* @param hkey* @param key* @return*/@Overridepublic String hget(String hkey, String key) {Jedis jedis = jedisPool.getResource();String string = jedis.hget(hkey, key);jedis.close();return string;}/*** 设置hash缓存值* @param hkey* @param key* @param value* @return*/@Overridepublic long hset(String hkey, String key, String value) {Jedis jedis = jedisPool.getResource();Long result = jedis.hset(hkey, key, value);jedis.close();return result;}/*** 递增缓存值* @param key* @return*/@Overridepublic long incr(String key) {Jedis jedis = jedisPool.getResource();Long result = jedis.incr(key);jedis.close();return result;}/*** 设置缓存值有效时间* @param key* @param second* @return*/@Overridepublic long expire(String key, int second) {Jedis jedis = jedisPool.getResource();Long result = jedis.expire(key, second);jedis.close();return result;}/*** 获取缓存值失效时间* @param key* @return*/@Overridepublic long ttl(String key) {Jedis jedis = jedisPool.getResource();Long result = jedis.ttl(key);jedis.close();return result;}/*** 删除string缓存值* @param key* @return*/@Overridepublic long del(String key) {Jedis jedis = jedisPool.getResource();Long result = jedis.del(key);jedis.close();return result;}/*** 批量删除以string为前缀的key * @param key* @return*/@Overridepublic void batchDel(String key) {Jedis jedis = jedisPool.getResource();Set<String> set = jedis.keys(key+"*");  Iterator<String> it = set.iterator();  while(it.hasNext()){  String keyStr = it.next();  jedis.del(keyStr);}jedis.close();}/*** 删除hash缓存值* @param hkey* @param key* @return*/@Overridepublic long hdel(String hkey, String key) {Jedis jedis = jedisPool.getResource();Long result = jedis.hdel(hkey, key);jedis.close();return result;}/*** 判断key是否存在* @param key* @return*/@Overridepublic boolean exists(String key) {Jedis jedis = jedisPool.getResource();boolean exists = jedis.exists(key);jedis.close();return exists;}/*** 清空缓存数据* @return*/@Overridepublic boolean clear() {Jedis jedis = jedisPool.getResource();jedis.flushAll();jedis.close();return true;}}

7.  测试通过,可以使用了:

windows简易版本 Redis 使用 demo样例(ssm框架下)相关推荐

  1. 【Flask框架】一. Flask框架初体验(配置环境 + 简单demo样例)

    文章目录 一. Flask框架初体验(配置环境 + 简单demo样例) 虚拟环境 新建项目 将Pycharm改为FLASK_DEBUG模式 修改FLASK_DEBUG模式的步骤 配置文件 简单用法 U ...

  2. [Redis实战]单文件夹启动多实例,redis哨兵+主从复制完整demo样例[windows环境]

    参考博客 Redis高可用集群-哨兵模式(Redis-Sentinel)搭建配置教程[Windows环境]_阿飞云的博客-CSDN博客 1.单文件夹(一个redis目录怎么启动多个redis实例) r ...

  3. VOT-toolkit Python 版本使用教程--官方样例版

    1.下载与安装 不成功的话,用以下方案: 附:如果你以这种方式,可以查看./build/lib/vot/utilities/cli.py下面的输入参数的含义. 这是vot-toolkit定义输入参数的 ...

  4. Redis安装(Windows 最新版本redis 5.0.9,以及redis 4.0)

    好消息,现在可以在windows上安装新版本redis了!(5.0.4.0--) 由于Redis官方并没有发布windows平台上的程序, 所以几年前微软开源团队开始在github上维护windows ...

  5. Android7.1 Presentation双屏异显 DEMO 样例

    转自 https://blog.csdn.net/fu_kevin0606/article/details/79420621 https://blog.csdn.net/fishtosky/artic ...

  6. jQuery上传插件Uploadify使用Demo、本地上传(ssm框架下)

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 效果: 1. jar包导入: <!-- 文件上传组件 --><dependency ...

  7. spark mllib lda 中文分词、主题聚合基本样例

    github https://github.com/cclient/spark-lda-example spark mllib lda example 官方示例较为精简 在官方lda示例的基础上,给合 ...

  8. 使用Gem5在aarch64架构下运行SPEC2006样例(三)——样例运行

    一.写在前面 如果只是想完成课程设计的话,可以使用本部分的方法.如果需要使用Simpoint加速运行,可以略过本篇,见下一篇. 二.正常执行 1.编写脚本 在Gem5主目录下使用命令: touch r ...

  9. Kaldi 使用,egs下通用样例及功能小结(很硬,慎入)

    样例表 egs下的样例 数据源,功能 用到的相关工具 aidatatang_200zh/s5 数据堂200h中文开源数据,用于语音识别 LM+MFCC+Mono+Triphone(tri1:delta ...

最新文章

  1. 通过小故事,了解多一点何谓 Node 高性能
  2. HTTP缓存字段总结
  3. mysql strcmp s1 s2_MySQL函数基础——字符串函数详解
  4. windows配置java运行环境
  5. maven依赖传递和排除依赖冲突
  6. 福禄克Fluke Pro3000 音频发生器和探头
  7. .Net Core跨平台应用研究-HelloArm(串口篇)
  8. 2个菜鸟Java常量和枚举陷阱
  9. 我们分析了成千上万的编程访谈。 这就是我们学到的东西。
  10. mysql统计同一字段重复的个数
  11. zzulioj 1065:统计数字字符个数
  12. 5000字详解:计算机网络在 Spark 的应用(建议收藏)
  13. Java中this的作用(简单说明)
  14. opencms mysql_[转]OpenCms for MySql 安装图解
  15. 2016/11/23【转载3】USB OTG 引脚定义
  16. 小米airdots2蓝牙耳机连上手机后没有声音
  17. C语言求一个整数各个位数之和
  18. 龙芯平台常用OS 及下载链接
  19. html(标题加上图片的方法,笔记)
  20. 什么是Ingress

热门文章

  1. C 怎么读取Cpp文件_python之调用C加速计算(一)
  2. Spark内核源码学习(暂未学完)
  3. Github+jsDelivr+PicGo 打造稳定快速、高效免费图床
  4. 【牛客 - 272D】Where are you(Tarjan求桥)
  5. 【Hihocoder - 1723】子树统计(线性基合并)
  6. 【CodeForces - 349A】Cinema Line (贪心(其实不是贪心),乱搞)
  7. mysql产品优化方案_mysql的优化方案
  8. 我的世界服务器自定义欢迎界面,我的世界启动界面如何修改 diy修改启动界面攻略...
  9. c语言编程函数补充上机题,2011年计算机二级C语言上机操作题及答案(10)
  10. Java 中的进程与线程的实现