• jedis使用


    redis数据库:存放的全是键值对
    五种数据类型:
    字符串类型 string : 字符串格式
    哈希类型 hash : map格式
    列表类型 list : 支持重复元素
    集合类型 set : 不支持重复元素
    有序集合类型 : 不允许重复元素,且有序

    命令操作
    字符串类型 string
    存储 : set key value
    获取 : get key
    删除 : del key
    哈希类型 hash
    存储 : hset key field value // field为哈希表的键
    获取 : hget key field //获取map指定键的值
    hgetall key // 获取map的所有值

    列表类型 list: 可以选择从左边添加元素或者右边添加(用来模拟队列,存储顺序和插入顺序一致)
        添加:
            lpush key value : 将元素加入到列表最左边(注意不是追加)
            rpush key value : 将元素加入到列表最右边
        获取
            lrange key start end : 从左边获取范围类的值(0,-1)获取所有元素
        删除
            lpop key : 删除列表最左边的元素,并将元素返回
            rpop key : 删除列表最右边的元素,并返回 
    
    集合类型 set: 存储顺序和插入顺序不一致 
        存储 : sadd key value(可以一次存放对个value)
        获取 : smembers key : 获取set集合中所有元素
        删除 : srem key value : 删除某个元素
    
    有序集合 sorted set : 关联一个double类型的分数,根据分数排序
        存储 : zadd key score value 
        获取 : zrange key start end
        删除 : zren key value
    
    通用命令
        keys * : 查询所有键
        type key : 查询键对应值的类型
        del key :删除指定key-value
    

    持久化
    redis是一个内存数据库, 当redis服务器重启数据会丢失,我们可以将redis内存中的数据持久化保存到硬盘的文件中
    redis持久化机制(不保证数据绝对安全,可能存在数据丢失):
    RDB : 默认方式,不需要进行配置,默认就使用这种机制 //在一定的间隔时间中,检测key的变化情况,然后持久化数据
    编辑redis.Windows.conf文件
    save 900 1
    // 900秒之内有一个键发生改变就进行一次持久化
    save 300 10
    // 300秒内有10个键发生改变就进行一次持久化
    //save 60 10000 修改为:
    save 10 5 // 十秒之内有5个键发生变化就持久化一次
    重新启动redis服务器,并指定配置文件名称(使用cmd命令启动redis) redis -server.exe redis.windows.conf

        AOF : 日志记录的方式,可以记录每一条命令的操作.可以每一次命令操作后,持久化数据(性能低,不推荐使用)
            编辑redis.Windows.conf文件
                appendonly no(默认) ---> appendonly yes(开启)
    
                appendfsync always : 每一次操作都进行持久化
                appendfsync everysec : 每隔一秒进行持久化一次
    

    Java客服端 Jedis
    一款java操作redis数据库的工具
    依赖环境:
    jedis.jar
    commons-pool2.jar(必须为pool2.jar否则)

    操作方法:
        获取连接
        Jedis jedis = new Jedis(host:"localhost", port:6379);
        操作
        jedis.set("username", "zhangsan")
        关闭连接
        jedis.close();
    
    Jedis操作各种redis中的数据结构
        jedis.setex(key:name, seconds:20, value:zhangsan); //插入限时键值对,20秒后自动删除
    

    Jedis连接池
    获取配置连接池对象:
    JedisPoolConfig config = new JedisPoolConfig();
    配置连接池:
    config.setMaxtotal(50); // 设置最大连接数为50
    创建连接池:
    JedisPoll jedispoll = new JedisPoll()
    获取连接:
    Jedis jedis = jedispoll.getResource();
    使用:
    jedis.set(key, value);
    归还连接:
    jedis.close();

    连接池配置参数
    最大活动对象数:
    redis.pool.maxTotal=1000;
    最大能保持 idel状态的对象数:
    redis.pool.maxIdle=100;
    当池类没有返回对象时,最大等待时间
    redis.pool.maxWaitMillis=10000;

  • 相关阅读:
    Linux C语言错误处理
    [精彩] 关于LAN上有两个相同MAC地址的问题
    毕业一年 写给自己的警戒书
    原始套接字简单应用
    李彦宏建言创业者:准备失败 勇于创新 专注如一
    Java programming problem in linux box: Exception in thread "main" java.lang.NoClassDefFoundError
    Java新手必看之Hello World 攻略
    Android 开发简介
    libnet应用之arp包发送
    TCP/IP协议族之运输层(TCP流量控制和拥塞控制 [2])
  • 原文地址:https://www.cnblogs.com/zhz-8919/p/10872412.html
Copyright © 2020-2023  润新知