Redis入门教程讲解

一、 redis的简介和下载安装

redis是C语言开发的, redis基于内存的数据库,数据存储到了内存当中。
数据的存储是以KEY-VALUE的形式来存储,redis中也是有丰富的数据类型。

redis安装工具下载地址:https://pan.baidu.com/s/1OP7UhCkUYOxqsFeQr3VyiA 提取码:7xn9
安装过程基本不需要做任何修改,全部默认即可。

二、 redis的特点

1、redis的读写效率非常高: 读 11万/s8万/s
2、redis中提供了丰富的数据类型: 五种 String hash list set sortedSet

注意: redis中数据类型指的是value的数据类型,而key只有String

三、redis的常用数据类型的使用

0、入门程序
jedis就是一款java连接redis的客户端工具, jedis中操作API与redis中命令是一样的,大大降低了学习成本,jedis也是redis官方推荐的一款java客户端工具。

如果想jedis, 就需要先进行导包:

<dependency>
	<groupId>redis.clients</groupId>
	<artifactId>jedis</artifactId>
	<version>2.9.0</version>
</dependency>

入门程序:

    @Test
    public void testPing(){
    
    
    	//新建连接,127.0.0.1指的是本机,6379指的是端口号
        Jedis jedis = new Jedis("127.0.0.1",6379);
        String pong = jedis.ping();
        System.out.println(pong);
        jedis.close();
	}

如果你打印输出的结果如下,那么久说明你已经完成了入门程序了。

PONG

1、String,和java中String是类似的, 表示字符串
使用场景: 做缓存、计数器、点赞
演示案例:

	@Test
    public void testJedisForString(){
    
    
        //新建连接,127.0.0.1指的是本机,6379指的是端口号
        Jedis jedis = new Jedis("127.0.0.1",6379);
        //存值、取值操作
        jedis.set("count","10");
        String count = jedis.get("count");
        System.out.println("count的值为:"+count);
        //增一、减一操作
        Long incr = jedis.incr("count");
        System.out.println("count增一后的值为:"+incr);
        Long decr = jedis.decr("count");
        System.out.println("count减一后的值为:"+decr);
        //设置count的存活时间为20s,到期自动销毁
        jedis.expire("count", 60);
        //删除操作
        jedis.del("count");
        jedis.close();
    }

打印输出结果如下:

count的值为:10
count增一后的值为:11
count减一后的值为:10

2、list:和 java中linkedList类似,看做一个队列(FIFO)
使用场景: 模拟队列、栈、朋友圈点赞
演示案例:

扫描二维码关注公众号,回复: 12652798 查看本文章
@Test
    public void testJedisForList(){
    
    
        //新建连接,127.0.0.1指的是本机,6379指的是端口号
        Jedis jedis = new Jedis("127.0.0.1",6379);

        //从左侧添加元素,从右侧弹出一个元素
        jedis.lpush("list","a","b","c","d");
        String rpop = jedis.rpop("list");
        System.out.println("从list右侧弹出的元素是:"+rpop);

        //遍历list集合
        List<String> list = jedis.lrange("list", 0, -1);
        System.out.println("list集合元素遍历结果:"+list);

        //获取列表的个数
        Long len = jedis.llen("list");
        System.out.println("list集合元素个数:"+len);

        //从右侧弹出一个元素, 将弹出在从左侧添加回去
        jedis.rpoplpush("list","list");
        list = jedis.lrange("list", 0, -1);
        System.out.println("list再一次遍历的结果:"+list);

        jedis.close();
    }

打印输出结果如下:

从list右侧弹出的元素是:a
list集合元素遍历结果:[d, c, b]
list集合元素个数:3
list再一次遍历的结果:[b, d, c]

3、set:和java中set集合类型: 去重 无序
使用场景: 去重操作、抽奖
演示案例:

@Test
    public void testJedisForSet(){
    
    
        //新建连接,127.0.0.1指的是本机,6379指的是端口号
        Jedis jedis = new Jedis("127.0.0.1",6379);
        
        //添加数据
        jedis.sadd("set","q","w","e","r","e");
        //获取set集合所有的元素
        Set<String> set = jedis.smembers("set");
        System.out.println("set集合内元素:"+set);

        //判断中w是否存在
        Boolean flag = jedis.sismember("set", "w");
        System.out.println("set集合中是否存在该元素:"+flag);

        //获取set集合中数量
        Long len = jedis.scard("set");
        System.out.println("set集合中元素的个数:"+len);
        
        jedis.close();
    }

打印输出结果如下:

set集合内元素:[r, e, w, q]
set集合中是否存在该元素:true
set集合中元素的个数:4

猜你喜欢

转载自blog.csdn.net/cczxcce/article/details/107807976