redis和Jedis的使用

本文介绍了Redis作为高性能NOSQL数据库的概念、数据结构及常用命令,包括字符串、哈希、列表、集合和有序集合。同时,详细讲解了Redis的持久化机制RDB和AOF。此外,还阐述了Java操作Redis的工具Jedis的使用步骤,包括各种数据结构的操作以及Jedis连接池的运用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

redis和Jedis的使用

redis

  1. 概念 : redis是一款高性能的NOSQL系列的非关系型数据库
  2. 命令操作
    • redis的数据结构 :
      1. redis存储的是 : (key : value)格式的数据,其中key都是字符串,value有5种不同的数据结构
        • valude的数据结构
          1. 字符串类型 string
          2. 哈希类型 hash : map格式
          3. 列表类型 list : linkedlist格式
          4. 集合类型 set
          5. 有序集合类型 sortedset
      2. 字符串类型 string
        • 存储 : set key value
        • 获取 : get key
        • 删除 : del key
      3. 哈希类型 hash
        • 存储 : hset key field value
        • 获取 : hget key field 或者 hgetall key
        • 删除 : hdel key field
      4. 列表类型 list : 可以添加一个元素到列表的头或者是尾( lpush:头加)(rpush : 尾加)
        • 添加 : lpush key value : 将元素加入列表左边
        • 获取 : lrange key start end : 范围获取
        • 删除 : lpop key : 删除列表的最左边的元素,并且返回元素
      5. 集合类型 set : 不允许重复元素
        • 存储 : sadd key value
        • 获取 : smembers key : 获取set集合所有的元素
        • 删除 : srem key value : 删除set集合中的某个元素
      6. 有序集合类型 : sortedset 不允许重复元素,且元素有顺序
        • 存储 : zadd key score value
        • 获取 : zrange key start end
        • 删除 : zrem key value
      7. 通用命令
        • keys * : 查询所有的键
        • type key : 获取键对应的value的类型
        • del key : 删除给定的key value
  3. 持久化操作
    • redis是一个内存数据库, 当redis服务器重启,或者电脑重启,数据会丢失,我们可以将redis内存中的数据持久化保持到硬盘的文件中
    • redis持久化机制 :
      1. RDB : 默认方式,不需要配置,默认使用这种机制
        • 在一定的间隔时间中,检测key的变化情况,然后持久化数据
        • 编辑redis.windows.conf文件
          1. save 900 1 : 900秒内一个键发生变化就进行持久化
          2. save 300 10 : 300秒内10个键发生变化就进行持久化
          3. save 60 10000 : 60秒内10000个键发生变化就进行持久化
      2. AOF : 日志记录的方式,可以记录每一条命令的操作,可以每一次命令操作后,持久化数据
        • 编辑redis.window.conf文件
          1. appendonly no( 关闭aof ) --> appendonly yes ( 打开aof )
            #appendfsync always : 每一次操作都进行持久化
            appendfsync everysec : 每隔一秒进行持久化
            #appendfsync no : 不进行持久化

Jedis

  1. 一款java操作redis数据库的工具.
  2. 使用步骤 :
    • 下载 jedis 的 jar 包
    • 使用
    1. 获取连接 : Jedis jedis = new Jedis(); 如果使用空参构造,默认值 “localhost”,6379端口
    2. 操作 : jedis.set(“username”,“zhansan”);
    3. 关闭连接 : jedis.close();
  3. Jedis操作各种redis中的数据结构
    • 字符串类型 string
      1. set
      2. get
    • 哈希类型 hash : map格式
      1. set
      2. get
    • 列表类型 list : linkedlist格式,支持重复元素
      1. lpush / rpush
      2. lpop / rpop
    • 集合类型 set : 不允许重复元素
      1. sadd
      2. smembers
    • 有序集合类型 sortedset : 不允许重复元素,且元素有序
      1. zadd
  4. Jedis连接池 : JedisPool
    • 使用 :
      1. 创建JedisPool连接池对象
      2. 调用方法 getResourse()方法获取Jedis连接
@Test
    public void test5(){

        //创建一个配置对象
        JedisPoolConfig config = new JedisPoolConfig();
        config.setMaxTotal(50);
        config.setMaxIdle(10);

        //创建连接池
        JedisPool jedisPool = new JedisPool(config,"localhost",6379);
        Jedis jedis= jedisPool.getResource();
        //1.获取连接
        //2.操作
        jedis.lpush("use","zhangsan","a");
        String use = jedis.lpop("use");
        System.out.println(use);
        jedis.lrange("use",0,-1);
        //3.关闭连接,归还到连接池
        jedis.close();
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值