Redis常用方法

首先构建非切片连接池jedisPool对象,写好配置redis连接的方法。

/**
     * 构建redis切片连接池
     *
     * @param ip
     * @param port
     * @return JedisPool
     */
    public static JedisPool getJedisPool() {
        if (jedisPool == null) {
            synchronized (lock) {
                //redis服务器对应的IP和端口
                String redisIp = PropertiesUtils.getProperties("REDIS_SERVER_IP");
                Integer redisPort = Integer.valueOf(PropertiesUtils.getProperties("REDIS_SERVER_PORT"));
                if (jedisPool == null) {
                    JedisPoolConfig config = new JedisPoolConfig();
                    //设置连接池初始化大小和最大容量

                    // 控制一个pool可分配多少个jedis实例,通过pool.getResource()来获取;
                    // 如果赋值为-1,则表示不限制;如果pool已经分配了maxActive个jedis实例,则此时pool的状态为exhausted(耗尽)。
                    config.setMaxTotal(-1);
                    // 控制一个pool最多有多少个状态为idle(空闲的)的jedis实例。
                    config.setMaxIdle(1000);
                    // 表示当borrow(引入)一个jedis实例时,最大的等待时间,如果超过等待时间,则直接抛出JedisConnectionException;
                    config.setMaxWaitMillis(1000 * 30);
                    // 在borrow一个jedis实例时,是否提前进行validate操作;如果为true,则得到的jedis实例均是可用的;
                    config.setTestOnBorrow(true);
                    // 写
                    jedisPool = new JedisPool(config, redisIp, redisPort,DEFAULT_TIME_OUT);

                }
            }
        }
        return jedisPool;
    }

我们都知道redis是key,value型就当它是内存数据库把,虽然一般常用于数据缓存,毕竟你往内存中放几千万条数据会弄爆- -(虽然我就是要这么干)  下来,根据key获取value

    /**
     * 获取数据
     *
     * @param key
     * @return
     */
    public static String getForString(String key){
        List<String> values = mgetForString(key);
        if(values == null) {
            return null;
        } else {
            return values.get(0);
        }
    }

也可根据key获取value的集合

 /**
     * 获取数据
     *
     * @param key
     * @return
     */
    public static List<String> mgetForString(String... key){
        List<String> value = null;
        JedisPool pool = null;
        Jedis jedis = null;
        try {
            pool = getJedisPool();
            jedis = pool.getResource();
            value = jedis.mget(key);
        } catch (Exception e) {
            log.error(e);
        } finally {
            //返还到连接池
            returnJedisResource(jedis);
        }
        return value;
    }

将数据加载到redis中的方法 一般是用set. 如下列方法,这里指定value是String类型,也是因为我的业务关系把value转成了json串~

public static void setForString(String key,String value){
           JedisPool pool = null;
        Jedis jedis = null;
       try {
           pool = getJedisPool();
           jedis = pool.getResource();
           jedis.set(key, value);
       } catch (Exception e) {
           log.error(e);
       } finally {
           //返还到连接池
             returnJedisResource(jedis);
       }

   }

也可获取哈希结构的字段和值

/**
     * 设置哈希结构的字段和值
     * @param key
     * @param value
     */
    public static void setForHashObj(String key, Map<String, String> value) {
        JedisPool pool = null;
        Jedis jedis = null;
        try {
            pool = getJedisPool();
            jedis = pool.getResource();
            jedis.hmset(key, value);
        } catch (Exception e) {
            log.error(e);
        } finally {
            // 返还到连接池
            returnJedisResource(jedis);
        }
    }

这里的Map也可以改为List<Map<String, String>> values,其实一样的~然后再遍历这个Map即可~

时间: 2024-09-29 11:25:56

Redis常用方法的相关文章

30 个 php 操作 redis 常用方法代码例子

这篇文章主要介绍了 30 个 php 操作 redis 常用方法代码例子 , 本文其实不止 30 个方法 , 可以操作 string 类型. list 类型和 set 类型的数据 , 需要的朋友可以参考下redis 的操作很多的,以前看到一个比较全的博客,但是现在找不到了.查个东西搜半天,下面整理一下php 处理 redis 的例子,个人觉得常用一些例子.下面的例子都是基于 php-redis 这个扩展的.1 , connect描述:实例连接到一个 Redis.参数: host: string

30个php操作redis常用方法代码例子

redis的操作很多的,以前看到一个比较全的博客,但是现在找不到了.查个东西搜半天,下面整理一下php处理redis的例子,个人觉得常用一些例子.下面的例子都是基于php-redis这个扩展的. 1,connect 描述:实例连接到一个Redis. 参数:host: string,port: int 返回值:BOOL 成功返回:TRUE;失败返回:FALSE 示例: 复制代码 代码如下: <?php $redis = new redis(); $result = $redis->connect

php操作redis常用方法源代码

1,connect 描述:实例连接到一个Redis.参数:host: string,port: int返回值:BOOL 成功返回:TRUE;失败返回:FALSE 示例: <?php $redis = new redis(); $result = $redis->connect('127.0.0.1', 6379); var_dump($result); //结果:bool(true) ?> 2,set描述:设置key和value的值参数:Key Value返回值:BOOL 成功返回:TR

php redis 常用方法

一些php redis 常用的方法: 1.hGet($key,$hashKey) Redis Hget 命令用于返回哈希表中指定字段的值. <?php $redis = new redis(); $redis -> connect('127.0.0.1',6379); $redis -> flushAll(); // This first case: hash 表存在 , key 也存在,获取数据成功 $redis -> hSet('myhash','job','programme

redis使用及远程连接

开始不清楚自己的linux开发机上有没有安装redis 用whereis redis命令发现/etc/redis.conf文件存在 直接执行redis-server /etc/redis.conf命令启动redis 执行命令redis-cli进入redis管理界面,然后就可以使用set foo aa;   get foo的命令 使用php代码连接redis服务器时,浏览器提示nginx报错(4开头还是5开头的记不太清楚了),通过使用127.0.0.1来连接可以,但是其他机器通过ip地址则访问不通

Redis数据类型及常用方法整理

Redis有五种数据类型,具体如下: 通用常用方法: keys pattern #查找key,可以使用*和?进行搜索. del key #删除key. 1.string 类型 (key : value(string/int/float)) 常用方法: set key value #赋值 get key #获取 incr key [int] #自增操作 decrby key [int] #自减操作 2.list 类型 有序列表 (key:(value1,value2,value3,,,,,valu

Redis 非关系性数据库集群的搭建与常用方法

redis 非关系型数据库,内存型数据库,现在大家都不陌生了,无论大中小型企业,都会将redis应用到自己的项目中,以此来减轻数据库的压力 安装步骤: 1.安装gcc 安装c语言的编译环境 yum install gcc-c++ 2.解压缩并且编译 tar -zxvf redis-3.2.1 //进入解压缩后的目录执行 make // 将编译后的文件放入/usr/local/redis 下,自己定义 make install PREFIX=/usr/local/redis 3.进行redis 后

redis之string数据类型常用方法总结

目录 redis 字符串(string)[需要掌握] 特点 语法 redis 字符串(string)[需要掌握] 特点 一个键能存储512MB数据 string类型是二进制安全的,可以存储任何数据,比如jpg图片或序列化对象 redis字符串数据类型的相关命令用于管理redis字符串值,基本语法如下: 语法 ==set key values== 设置指定 key 的值 127.0.0.1:6379> set name panlifu OK 127.0.0.1:6379> get name &q

Redis安装及C#调用

一.Redis简介 Redis是一个开源(BSD许可),内存存储的数据结构服务器,可用作数据库,高速缓存和消息队列代理.它支持字符串.哈希表.列表.集合.有序集合,位图,hyperloglogs等数据类型.内置复制.Lua脚本.LRU收回.事务以及不同级别磁盘持久化功能,同时通过Redis Sentinel提供高可用,通过Redis Cluster提供自动分区.sd Redis官网上相关安装.命令.配置等信息写的已经非常清楚(查看官网) 我就简单介绍下. 二.下载安装 (1)下载 Windows