住房公积金网站怎么做减员,网站建设最重要的因素,互联网企业投诉服务平台,软装设计师资格证前些天发现了一个巨牛的人工智能学习网站#xff0c;通俗易懂#xff0c;风趣幽默#xff0c;忍不住分享一下给大家。点击跳转到教程。 1. 在网上下载 windows 版本 的Redis 。下载了直接解压出来 #xff1a; 2. 双击 redis-server.exe 启动服务#xff08;如下图#…前些天发现了一个巨牛的人工智能学习网站通俗易懂风趣幽默忍不住分享一下给大家。点击跳转到教程。 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.host127.0.0.1
redis.port6379redis.maxTotal300
redis.maxIdle10
redis.numTestsPerEvictionRun1024
redis.timeBetweenEvictionRunsMillis30000
redis.minEvictableIdleTimeMillis1800000
redis.softMinEvictableIdleTimeMillis10000
redis.maxWaitMillis1500
redis.testOnBorrowtrue
redis.testWhileIdletrue
redis.blockWhenExhaustedfalse 4. spring配置文件中的配置任由你放在spring的哪个配置文件中比如是B.xml 文件。但一定要在B.xml 中引入A.properties !-- 引入配置文件dbconfig.properties --context:property-placeholder locationclasspath:dbconfig.properties /!-- jedis连接池配置 --bean idjedisPoolConfig classredis.clients.jedis.JedisPoolConfig!-- 最大连接数 --property namemaxTotal value${redis.maxTotal} /!-- 最大空闲连接数 --property namemaxIdle value${redis.maxIdle} /!-- 每次释放连接的最大数目 --property namenumTestsPerEvictionRun value${redis.numTestsPerEvictionRun} /!-- 释放连接的扫描间隔毫秒 --property nametimeBetweenEvictionRunsMillis value${redis.timeBetweenEvictionRunsMillis} /!-- 连接最小空闲时间 --property nameminEvictableIdleTimeMillis value${redis.minEvictableIdleTimeMillis} /!-- 连接空闲多久后释放, 当空闲时间该值 且 空闲连接最大空闲连接数 时直接释放 --property namesoftMinEvictableIdleTimeMillis value${redis.softMinEvictableIdleTimeMillis} /!-- 获取连接时的最大等待毫秒数,小于零:阻塞不确定的时间,默认-1 --property namemaxWaitMillis value${redis.maxWaitMillis} /!-- 在获取连接的时候检查有效性, 默认false --property nametestOnBorrow value${redis.testOnBorrow} /!-- 在空闲时检查有效性, 默认false --property nametestWhileIdle value${redis.testWhileIdle} /!-- 连接耗尽时是否阻塞, false报异常,ture阻塞直到超时, 默认true --property nameblockWhenExhausted value${redis.blockWhenExhausted} //bean!-- jedis客户端单机版 --bean idredisClient classredis.clients.jedis.JedisPoolconstructor-arg namehost value${redis.host}/constructor-argconstructor-arg nameport value${redis.port}/constructor-argconstructor-arg namepoolConfig refjedisPoolConfig/constructor-arg/bean!-- 引用工程中自己书写的redis常用接口实现类 --bean id_jedisClient classcom.redis.impl.JedisClientSingle/
!-- 引入配置文件dbconfig.properties --context:property-placeholder locationclasspath:dbconfig.properties /!-- jedis连接池配置 --bean idjedisPoolConfig classredis.clients.jedis.JedisPoolConfig!-- 最大连接数 --property namemaxTotal value${redis.maxTotal} /!-- 最大空闲连接数 --property namemaxIdle value${redis.maxIdle} /!-- 每次释放连接的最大数目 --property namenumTestsPerEvictionRun value${redis.numTestsPerEvictionRun} /!-- 释放连接的扫描间隔毫秒 --property nametimeBetweenEvictionRunsMillis value${redis.timeBetweenEvictionRunsMillis} /!-- 连接最小空闲时间 --property nameminEvictableIdleTimeMillis value${redis.minEvictableIdleTimeMillis} /!-- 连接空闲多久后释放, 当空闲时间该值 且 空闲连接最大空闲连接数 时直接释放 --property namesoftMinEvictableIdleTimeMillis value${redis.softMinEvictableIdleTimeMillis} /!-- 获取连接时的最大等待毫秒数,小于零:阻塞不确定的时间,默认-1 --property namemaxWaitMillis value${redis.maxWaitMillis} /!-- 在获取连接的时候检查有效性, 默认false --property nametestOnBorrow value${redis.testOnBorrow} /!-- 在空闲时检查有效性, 默认false --property nametestWhileIdle value${redis.testWhileIdle} /!-- 连接耗尽时是否阻塞, false报异常,ture阻塞直到超时, 默认true --property nameblockWhenExhausted value${redis.blockWhenExhausted} //bean!-- jedis客户端单机版 --bean idredisClient classredis.clients.jedis.JedisPoolconstructor-arg namehost value${redis.host}/constructor-argconstructor-arg nameport value${redis.port}/constructor-argconstructor-arg namepoolConfig refjedisPoolConfig/constructor-arg/bean!-- 引用工程中自己书写的redis常用接口实现类 --bean id_jedisClient classcom.redis.impl.JedisClientSingle/5. maven 依赖 !-- redis --dependencygroupIdredis.clients/groupIdartifactIdjedis/artifactIdversion2.7.2/version/dependency!-- redis --dependencygroupIdredis.clients/groupIdartifactIdjedis/artifactIdversion2.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();SetString set jedis.keys(key*); IteratorString 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. 测试通过可以使用了