Redis入门学习

Redis介绍

Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。 它支持多种类型的数据结构,如 字符串(strings)散列(hashes)列表(lists)集合(sets)有序集合(sorted sets) 与范围查询, bitmapshyperloglogs地理空间(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

image.png

启动Redis

启动:

redis-server redis.conf

Redis入门学习_第1张图片
启动状态检测:

 ps -ef | grep redis

image.png
进入客户端:

redis-cli -p 6379

关闭Redis:

redis-cli -p 6379 shutdown

kill命令

Redis命令

SpringBoot整合Redis

添加Redis依赖


 redis.clients
 jedis



 org.springframework.data
 spring-data-redis

入门测试

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"));
 }
}

Redis持久化策略

RDB模式

AOF模式

你可能感兴趣的:(redis)