【Redis】基本使用与jedis入门

https://baijiahao.baidu.com/s?id=1660009541007805174&wfr=spider&for=pc

第一章 概述

1.1 非关系型数据库的优势

  • 非关系型数据库,提高了访问数据得速度
  • 性能NOSQL是基于键值对的,可以想象成表中的主键和值的对应关系,而且不需要经过SQL层的解析,所以性能非常高。
  • 可扩展性同样也是因为基于键值对,数据之间没有耦合性,所以非常容易水平扩展。
  • 一般会将数据存储在关系型数据库中,在nosql数据库中备份存储关系型数据库的数据

1.2 edis支持的键值数据类型

  • 字符串类型 string
  • 哈希类型 hash
  • 列表类型 list
  • 集合类型 set
  • 有序集合类型 sortedset

1.3 redis的应用场景

  • 缓存(数据查询、短连接、新闻内容、商品内容等等)
  • 任务队列。(秒杀、抢购、12306等等)
  • 聊天室的在线好友列表
  • 应用排行榜
  • 网站访问统计
  • 数据过期处理(可以精确到毫秒
  • 分布式集群架构中的session分离

第二章 redis的数据结构

键值对方式,其中key都是字符串,value有5种不同的数据结构
value的数据结构

  • 字符串类型 string

    • set username zhangsan
    • get username
  • 哈希类型 hash : map格式

    • hset myhash username lisi
    • hset myhash password 123
    • hget myhash username
    • hgetall myhash
  • 列表类型 list : linkedlist格式。支持重复元素

    • lpush key value:将元素加入列表左表
    • rpush key value:将元素加入列表右边
    • lrange key start end :范围获取
    • lrange myList 0 -1:索引0到-1
    • lpop key: 删除列表最左边的元素,并将元素返回
    • rpop key: 删除列表最右边的元素,并将元素返回
  • 集合类型 set : 不允许重复元素

    • 存储:sadd key value
    • 获取:smembers key:获取set集合中所有元素
    • 删除:srem key value:删除set集合中的某个元素
      • srem myset a
  • 有序集合类型 sortedset:不允许重复元素,且元素有顺序

    • 不允许重复元素,且元素有顺序.每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。
    • 存储:zadd key score value
    • 获取:zrange key start end [withscores]
    • 删除:zrem key value
  • 通用命令

      1. keys * : 查询所有的键
      1. type key : 获取键对应的value的类型
      1. del key:删除指定的key value

第三章 Java客户端 Jedis

Jedis: 一款java操作redis数据库的工具.

3.1 快速入门

public void test1(){
   
    //1.获取连接
    Jedis jedis=new Jedis();
    //2.操作
    jedis.set("username","lisi");
    //3.关闭连接
    jedis.close();
}

3.2 操作字符串结构的数据

//可以使用setex()方法存储可以指定过期时间的 key value
//将activecode:hehe键值对存入redis,并且20秒后自动删除该键值对
jedis.setex("activecode",20,"hehe");

3.3 操作hashmap数据结构

  /**
     * hashmap 数据结构的操作
     */
    @Test
    public void test3(){
   
        //1.获取连接
        Jedis jedis=new Jedis();//如果使用空参构造,默认值 "localhost",6379端口
        jedis.hset("user","name","lisi");
        jedis.hset("user","age","16");
        jedis.hset("user","gender","男");

        String name = jedis.hget("user", "name");
        String gender = jedis.hget("user", "gender")
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

_popo_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值