Redis基础

一,概述

1.redis是一款高性能的nosql系列的非关系型数据库

2. 下载下载链接

3.命令操作

<1>redis数据结构

*redis存储的是:key-value,其中key是字符串,value有五种不同的数据类型结构

****字符串类型:string

****哈希类型:hash

****列表类型:list

****集合类型:set

****有序集合类型:sortedset

<2>字符串类型

存储
set key value
获取
get key
删除
del key

<3>哈希类型

存储
hset key filed value
获取
hget key filed 
获取所有的键值对
hgetall key
删除
hdel key filed

<4>列表类型

存储
lpush key value(左侧添加)
rpush key value(右侧添加)
获取
lrange  key start end(范围获取)
删除
lpop key(删除列表最左边的元素,并将元素返回)
rpop key(删除列表最右边的元素,并将元素返回)

<5>集合类型

set

存储
sadd key value
获取
smembers key(获取set集合中所有元素)
删除
srem key vlaue(删除set集合中的某个元素)

sortedset

存储
zadd key score value
获取
zrange key start end
删除
zrem key vlaue

<6>通用命令

keys *:
type key:获取键对应的值的类型
del key:删除指定的key value

4.持久化

<1>redis是一个内存数据库,当redis服务器或者电脑重启时数据会丢失,我们可以将redis内从中的数据持久化保存到硬盘文件中

<2>RDB(默认方式,无需配置,默认使用这种机制)

*在一定的间隔时间中,检测key的变化情况,然后持久化数据

*编辑redis.windows.conf文件

#   after 900 sec (15 min) if at least 1 key changed
save 900 1
#   after 300 sec (5 min) if at least 10 keys changed
save 300 10
#   after 60 sec if at least 10000 keys changed
save 60 10000

*持久化数据存储在dump.rdb中

<3>AOF(日志记录的方式,可以记录每一条命令操作,每一次命令操作后,持久化数据)·

*编辑redis.windows.conf文件

//默认是no表示关闭,yes为开启
appendonly no
//每次操作都执行持久化
appendfsync always
//每一秒进行一次持久化
appendfsync everysec
//不进行持久化
appendfsync no

二,Jedis

1.操作string

import org.junit.Test;
import redis.clients.jedis.Jedis;

public class JedisTest {
    @Test
    public void test(){
        //1.获取连接
        Jedis jedis=new Jedis("localhost",6379);
        //2.操作
        //存储
        jedis.set("name","sysy");
        //获取
        System.out.println(jedis.get("name"));
        //删除
        jedis.del("name");
        System.out.println(jedis.get("name"));
        //指定过期时间
        jedis.setex("activecode",20,"hehe");//将键为activecode值为hehe存入redis,20秒后自定删除
        //3.关闭连接1
        jedis.close();
    }
}

2.操作set&&sortedset

import org.junit.Test;
import redis.clients.jedis.Jedis;

public class JedisTest {
    @Test
    public void test(){
        //1.获取连接
        Jedis jedis=new Jedis("localhost",6379);
        //2.操作
        //存储
        jedis.sadd("set","1","2","2","3");
        //获取
        System.out.println(jedis.smembers("set"));
        jedis.zadd("sortedset",1,"2");
        jedis.zadd("sortedset",2,"1");
        System.out.println(jedis.zrange("sortedset",0,2));
        //3.关闭连接1
        jedis.close();
    }
}

3.操作list

import org.junit.Test;
import redis.clients.jedis.Jedis;

public class JedisTest {
    @Test
    public void test(){
        //1.获取连接
        Jedis jedis=new Jedis("localhost",6379);
        //2.操作
        //存储
        jedis.lpush("list","a");
        jedis.rpush("list","b");
        jedis.lpush("list","c");
        //获取
        System.out.println(jedis.lrange(":list",0,1));
        System.out.println(jedis.lpop("list"));
        System.out.println(jedis.rpop("list"));
        //3.关闭连接1
        jedis.close();
    }
}

4.操作hash

import org.junit.Test;
import redis.clients.jedis.Jedis;

public class JedisTest {
    @Test
    public void test(){
        //1.获取连接
        Jedis jedis=new Jedis("localhost",6379);
        //2.操作
        //存储
        jedis.hset("people","name","sy");
        jedis.hset("people","age","19");
        //获取
        System.out.println(jedis.hget("people","name"));
        System.out.println(jedis.hgetAll("people"));
        //3.关闭连接1
        jedis.close();
    }
}

5.Jedis连接池:jedisPool

import org.junit.Test;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;

public class JedisTest {
    @Test
    public void test(){
        JedisPool jedisPool=new JedisPool();
        Jedis jedis=jedisPool.getResource();
        jedis.set("name","zaf");
        jedis.close();
    }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值