Redis介绍
Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。 它支持多种类型的数据结构,如 字符串(strings), 散列(hashes), 列表(lists), 集合(sets), 有序集合(sorted sets) 与范围查询, bitmaps, hyperloglogs 和 地理空间(geospatial) 索引半径查询。 Redis 内置了 复制(replication),LUA脚本(Lua scripting), LRU驱动事件(LRU eviction),事务(transactions) 和不同级别的 磁盘持久化(persistence), 并通过 Redis哨兵(Sentinel)和自动 分区(Cluster)提供高可用性(high availability)。
面试题:Redis支持哪些数据结构?
Redis安装
#Linux安装
#解压 tar -zxvf redis
make
make install
修改Redis配置文件redis.conf
启动Redis
启动:
redis-server redis.conf
启动状态检测:
ps -ef | grep redis
进入客户端:
redis-cli -p 6379
关闭Redis:
redis-cli -p 6379 shutdown
kill命令
Redis命令
SpringBoot整合Redis
添加Redis依赖
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
</dependency>
<!--添加spring-datajar包 -->
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-redis</artifactId>
</dependency>
入门测试
public class RedisTest {
@Test
public void test01(){
Jedis jedis = new Jedis("192.168.126.129",6379);
jedis.set("2007", "redis 入门案例");
System.out.println(jedis.get("2007"));
}
@Test
public void test02(){
Jedis jedis = new Jedis("192.168.126.129",6379);
// if (!jedis.exists("2007"))
// jedis.set("2007", "redis 入门案例");
jedis.setnx("2007", ".......");//如果里面有数据则不添加
System.out.println(jedis.get("2007"));
}
@Test
public void test03(){
Jedis jedis = new Jedis("192.168.126.129",6379);
jedis.setex("2007",100, "redis 入门案例");
System.out.println(jedis.get("2007"));
}
/**
* 数据存在则不操作
* 设置删除时间
*
* private static final String XX = "xx"; 有key则进行写操作
* private static final String NX = "nx"; 没有key则进行写操作
* private static final String PX = "px"; 毫秒
* private static final String EX = "ex"; 设置多少秒后删除
*/
@Test
public void test04(){
Jedis jedis = new Jedis("192.168.126.129",6379);
SetParams setParams = new SetParams();
setParams.nx().ex(100);
jedis.set("2007", "ahhahaha", setParams);
System.out.println(jedis.get("2007"));
}
@Test
public void testHash(){
Jedis jedis = new Jedis("192.168.126.129",6379);
Transaction transaction = jedis.multi();
try {
transaction.set("e", "5");
transaction.set("f", "6");
transaction.set("g", "7");
}catch (Exception e){
transaction.discard();
}
System.out.println(transaction.get("e"));
}
}
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。