zoukankan      html  css  js  c++  java
  • redis

    redis主要用于缓存

    一、缓存

      1.什么样的数据适合存放于缓存

        安全系数比较低;查询频率比较高;修改频率比较低

      2.常见的缓存技术

        ehcache,memorycache,redis等

    二、redis缓存

    多种数据类型缓存:字符串类型、散列类型、列表类型、集合类型,有序集合类型

    redis提供了两种持久化功能:RDB,AOF

    可用作缓存、队列、消息订阅、发布

    支持设置键的生存时间

    (集群:把一个项目部署到多台服务器上)

    redis服务器返回值的类型

      PONG、error、ok、integer、String、多行字符串

    redis中基本命令

    select 数字  选择数据库
            flushall   清空所有数据库中的数据
            flushdb    清空当前数据库中数据
            keys 键名(* ?用法与sql数据库相同)  查询满足条件的键
            exists 键名  判断某个是否存在 存在返回1 ,不存在返回0
            del 键名(space)键名 删除某几个键 ,返回删除了几个键
            help 命令名        
        存储的类型为字符串类型的命令
            set key value   往redis中存储数据
            get key      根据键获取redis中的数据
            incr key   递增(1)
            incrby key increment  递增指定的数
            decr key   递减
            append key value 在key后面追加字符串,返回总长度
            
            expire key seconds   设置生存时间
            ttl key  查看键生命周期 返回值:-1:永久生存,-2:已死亡,正整数:还有多少秒生存
            persist key 清除生存时间(永久)

    三、java连接redis服务器

    1.普通连接

      加入依赖

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

    测试代码

    public static void main(String[] args) {
            Jedis jedis=new Jedis("127.0.0.1", 6379);
            jedis.set("a", "1");
            System.out.println(jedis.get("a"));
        }

    jedis对象的方法跟redis语句的使用一样 

    2.使用连接池

    public static void main(String[] args) {
            //连接池的配置
            JedisPoolConfig config=new JedisPoolConfig();
            config.setMaxTotal(200);
            //得到jedis连接池
            JedisPool pool=new JedisPool(config, "127.0.0.1",6379);
            Jedis jedis=pool.getResource();
            jedis.set("a", "3");
            
        }

    3.分片集群

     public static void main(String[] args) {
          //连接池的配置
            JedisPoolConfig config=new JedisPoolConfig();
            config.setMaxTotal(200);
            List<JedisShardInfo> shards=new ArrayList<JedisShardInfo>();
            shards.add(new JedisShardInfo("127.0.0.1",6379));
            shards.add(new JedisShardInfo("192.168.1.117",6379));
            //得到集群对象
            ShardedJedisPool shardedJedisPool=new ShardedJedisPool(config, shards);
            ShardedJedis jedis=shardedJedisPool.getResource();
            for(int i=1;i<=100;i++) {
                jedis.set(""+i, "value"+i);
            }
            shardedJedisPool.close();
        }

    4.整合到spring中

  • 相关阅读:
    45个非常有用的Oracle查询语句(转自开源中国社区)
    Oracle创建表空间及用户
    table里面,怎么根据checkbox选择的一行中的某个单元格的值是否为空,来判断是否该选中
    点击上传按钮,文件自动上传
    如何给frame标签的src属性以及a标签的href属性自动设值
    Tomcat内存溢出的三种情况及解决办法分析
    Java中判断字符串是否为数字的五种方法
    SSH项目里面 忘记密码的邮件发送功能
    form表单提交时,action怎么带参数
    因为多余jar包,所报的错
  • 原文地址:https://www.cnblogs.com/psxfd4/p/11717402.html
Copyright © 2011-2022 走看看