Java之redis基础用法
《Java之redis基础用法》要点: 起首,Redis是一个Nosql数据库. 为了办理高并发、高可扩展、高可用、大数据存储问题而产生的数据库办理方案,就是NoSql数据库. Redis的作用是缓存.以key—value存储. 一、Redis安装设置装备摆设Redis下载 官网地址:http://redis.io/ 下载地址 :https://redis.io/download Redis的安装 安装情况一般为Linux,我以这个为演示: 因为redis是c语言开发的,所以得安装gcc情况. yum install gcc-c++ 把redis-3.0.0.tar.gz放到服务器中,这步就不演示了,我用的是xftp5 第一步:解紧缩 tar -zxf redis-3.0.0.tar.gz 第二部:编译(C语言开发的编译) 进入到redis-3.0.0目次 make 第一步:安装 make install PREFIX=/usr/local/redis 安装到redis目次. PREFIX参数指定redis的安装目次.一般软件安装到/usr目次下 二、redis的启动. 将redis源码包中的redis.conf设置装备摆设文件复制到/usr/local/redis/bin/下 (1)cd /root/redis-3.0.0 cp redis.conf /usr/local/redis/bin/ (2)第二步:改动redis.conf,将daemonize由no改为yes (3)启动敕令:在redis根目录 ./redis-server redis.conf (4)封闭命令:./redis-cli shutdown 衔接reids------- redis-cli ./redis-cli 默认衔接localhost运行在6379端口的redis服务. ./redis-cli -h 192.168.1.103 -p 6379 -h:衔接的服务器的地址 -p:服务的端标语 封闭redis连接:./redis-cli shutdown Redis的持久化 Redis的所有数据都是保留到内存中的. Rdb:快照形式,定期把内存中当前时刻的数据保留到磁盘.Redis默认支持的持久化方案. aof形式:append only file.把所有对redis数据库操作的命令,增删改操作的命令.保留到文件中. 在redis.conf设置装备摆设文件中设置装备摆设 这样redis单机版就配好了,redis集群我就不说了,打字说不清晰. Redis数据类型Redis中存储数据是通过key-value存储的,对付value的类型有以下几种: 字符串 Hash类型 List Set SortedSet(zset) 各类数据类型的演示就算了,太多了. Java中衔接redis 要连接服务器中的redis,必要使用redis提供的一个jar包; 接上去上代码: public void testJedisPool() throws Exception { // 第一步:创建一个JedisPool对象.必要指定服务端的ip及端口. JedisPool jedisPool = new JedisPool("192.168.1.103",6379); // 第二步:从JedisPool中得到Jedis对象. Jedis jedis = jedisPool.getResource(); // 第三步:使用Jedis操作redis服务器. jedis.set("jedis","test"); 存储jedis为key,test为value的一个数据 String result = jedis.get("jedis"); 获取key为jedis的值 System.out.println(result); // 第四步:操作完毕后封闭jedis对象,连接池回收资源. jedis.close(); // 第五步:封闭JedisPool对象. jedisPool.close(); } Spring整合jedis 常用的操作redis的办法提取出一个接口,实现单机版的实现类: public interface JedisClient { String set(String key,String value); String get(String key); Boolean exists(String key); Long expire(String key,int seconds); Long ttl(String key); Long incr(String key); Long hset(String key,String field,String value); String hget(String key,String field); Long hdel(String key,String... field); } 单机版实现类 public class JedisClientPool implements JedisClient { @Autowired private JedisPool jedisPool; //引入jedispool衔接池 @Override public String set(String key,String value) { Jedis jedis = jedisPool.getResource(); String result = jedis.set(key,value); jedis.close(); return result; } @Override public String get(String key) { Jedis jedis = jedisPool.getResource(); String result = jedis.get(key); jedis.close(); return result; } @Override public Boolean exists(String key) { Jedis jedis = jedisPool.getResource(); Boolean result = jedis.exists(key); jedis.close(); return result; } @Override public Long expire(String key,int seconds) { Jedis jedis = jedisPool.getResource(); Long result = jedis.expire(key,seconds); jedis.close(); return result; } @Override public Long ttl(String key) { Jedis jedis = jedisPool.getResource(); Long result = jedis.ttl(key); jedis.close(); return result; } @Override public Long incr(String key) { Jedis jedis = jedisPool.getResource(); Long result = jedis.incr(key); jedis.close(); return result; } @Override public Long hset(String key,String value) { Jedis jedis = jedisPool.getResource(); Long result = jedis.hset(key,field,value); jedis.close(); return result; } @Override public String hget(String key,String field) { Jedis jedis = jedisPool.getResource(); String result = jedis.hget(key,field); jedis.close(); return result; } @Override public Long hdel(String key,String... field) { Jedis jedis = jedisPool.getResource(); Long result = jedis.hdel(key,field); jedis.close(); return result; } } 设置装备摆设:applicationContext-redis.xml <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:context="http://www.springframework.org/schema/context" xmlns:p="http://www.springframework.org/schema/p" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans4.2.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context4.2.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop4.2.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx4.2.xsd http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util4.2.xsd"> <!-- 配置单机版的衔接 --> <bean id="jedisPool" class="redis.clients.jedis.JedisPool"> <constructor-arg name="host" value="192.168.1.103"></constructor-arg> <constructor-arg name="port" value="6379"></constructor-arg> </bean> <bean id="jedisClientPool" class="com.test.jedisClientPool "/> </beans> Spring整合jedis测试: @Test public void testJedisClient() throws Exception { //初始化Spring容器 ApplicationContext applicationContext = new ClassPathXmlApplicationContext("classpath: applicationContext-*.xml"); //自在器中获得JedisClient对象 JedisClient jedisClient = applicationContext.getBean(JedisClient.class); jedisClient.set("test","test"); String result = jedisClient.get("test"); System.out.println(result); } 便是个这了,redis太多,在这里不好说清. 接上去附图: 编程之家PHP培训学院每天发布《Java之redis基础用法》等实战技能,PHP、MYSQL、LINUX、APP、JS,CSS全面培养人才。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- Haskell – Alpine Docker镜像内的主机名解析不起作用
- Angular 5(英雄之旅)教程:无法找到模块’@ angular-in-mem
- angularjs – 使用ng-class和ng-click切换手风琴面板图标
- 监控mysql启动情况并检测表错误修复
- bootstrap简单介绍
- angularjs – 如何延迟视图渲染,直到从外部源加载某些数据为
- angularjs – angular-socket-io io未定义
- php – 从MAMP到Docker的Web开发过渡
- 基于AngularJs + Bootstrap + AngularStrap 省市区联动实践
- scala – 案例类和特征线性化