Java之redis基础用法

《Java之redis基础用法》要点:
本文介绍了Java之redis基础用法,希望对您有用。如果有疑问,可以联系我们。

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太多,在这里不好说清.

接上去附图:

Java之redis基础用法

Java之redis基础用法

Java之redis基础用法


编程之家PHP培训学院每天发布《Java之redis基础用法》等实战技能,PHP、MYSQL、LINUX、APP、JS,CSS全面培养人才。

相关文章

文章浏览阅读1.3k次。在 Redis 中,键(Keys)是非常重要的概...
文章浏览阅读3.3k次,点赞44次,收藏88次。本篇是对单节点的...
文章浏览阅读8.4k次,点赞8次,收藏18次。Spring Boot 整合R...
文章浏览阅读978次,点赞25次,收藏21次。在Centos上安装Red...
文章浏览阅读1.2k次,点赞21次,收藏22次。Docker-Compose部...
文章浏览阅读2.2k次,点赞59次,收藏38次。合理的JedisPool资...