redis基本使用(入门一)

redis简介以及安装和配置

查看我网易云笔记 文档:6-Redis安装与配置.note
链接:http://note.youdao.com/noteshare?id=e41016b553359acd0b4d97a4a62fa538&sub=89A0AF7F3DDF477096CC0B5C290196A6

如果是采用docker-compose安装。配置和安装直接用下面的

Jedis连接

RedisDS客户端封装

docker-compose.yml配置

version: '3'
services:
  #redis
  redis:
    hostname: redis
    image: redis:latest
    container_name: redis
    restart: unless-stopped
    command: redis-server /etc/redis.conf # 启动redis命令
    environment:
      - TZ=Asia/Shanghai
    volumes:
      - /etc/localtime:/etc/localtime:ro # 设置容器时区与宿主机保持一致
      - /usr/local/docker/redis/data:/data
      - /usr/local/docker/redis/redis.conf:/etc/redis.conf
    ports:
      - 6379:6379

引入依赖

 <!-- https://mvnrepository.com/artifact/cn.hutool/hutool-core -->
        <dependency>
            <groupId>cn.hutool</groupId>
            <artifactId>hutool-all</artifactId>
            <version>5.2.3</version>
        </dependency>
 <!-- https://mvnrepository.com/artifact/redis.clients/jedis -->
  <dependency>
      <groupId>redis.clients</groupId>
      <artifactId>jedis</artifactId>
      <version>3.3.0</version>
  </dependency>

配置

在ClassPath(或者src/main/resources)的config目录下下新建redis.setting

#-------------------------------------------------------------------------------
# Redis客户端配置样例
# 每一个分组代表一个Redis实例
# 无分组的Pool配置为所有分组的共用配置,如果分组自己定义Pool配置,则覆盖共用配置
# 池配置来自于:https://www.cnblogs.com/jklk/p/7095067.html
#-------------------------------------------------------------------------------

#----- 默认(公有)配置
# 地址,默认localhost
host = localhost
# 端口,默认6379
port = 6379
# 超时,默认2000
timeout = 2000
# 连接超时,默认timeout
connectionTimeout = 2000
# 读取超时,默认timeout
soTimeout = 2000
# 密码,默认无
password = 
# 数据库序号,默认0
database = 0
# 客户端名,默认"Hutool"
clientName = Hutool
# SSL连接,默认false
ssl = false;

#----- 自定义分组的连接
[custom]
# 地址,默认localhost
host = localhost
# 连接耗尽时是否阻塞, false报异常,ture阻塞直到超时, 默认true
BlockWhenExhausted = true;
# 设置的逐出策略类名, 默认DefaultEvictionPolicy(当连接超过最大空闲时间,或连接数超过最大空闲连接数)
evictionPolicyClassName = org.apache.commons.pool2.impl.DefaultEvictionPolicy
# 是否启用pool的jmx管理功能, 默认true
jmxEnabled = true;
# 是否启用后进先出, 默认true
lifo = true;
# 最大空闲连接数, 默认8个
maxIdle = 8
# 最小空闲连接数, 默认0
minIdle = 0
# 最大连接数, 默认8个
maxTotal = 8
# 获取连接时的最大等待毫秒数(如果设置为阻塞时BlockWhenExhausted),如果超时就抛异常, 小于零:阻塞不确定的时间,  默认-1
maxWaitMillis = -1
# 逐出连接的最小空闲时间 默认1800000毫秒(30分钟)
minEvictableIdleTimeMillis = 1800000
# 每次逐出检查时 逐出的最大数目 如果为负数就是 : 1/abs(n), 默认3
numTestsPerEvictionRun = 3;
# 对象空闲多久后逐出, 当空闲时间>该值 且 空闲连接>最大空闲数 时直接逐出,不再根据MinEvictableIdleTimeMillis判断  (默认逐出策略)
SoftMinEvictableIdleTimeMillis = 1800000
# 在获取连接的时候检查有效性, 默认false
testOnBorrow = false
# 在空闲时检查有效性, 默认false
testWhileIdle = false
# 逐出扫描的时间间隔(毫秒) 如果为负数,则不运行逐出线程, 默认-1
timeBetweenEvictionRunsMillis = -1

基本命令的使用

字符串(String)

 jedis.set("age", "15");  
 jedis.get("age");                       
 jedis.incr("age");// 实现自增  没有key的情况下值为0         
 jedis.append("age", "2");//追加字段                
 String age = jedis.substr("age", 0, 1);// 索引从0开始

列表(list)

   jedis.lpush("list-key", "张三");                               
   jedis.lpush("list-key", "李四");                               
   jedis.lpush("list-key", "王五");                               
 // 获取所有元素                                                      
   List<String> lrange = jedis.lrange("list-key", 0, -1);       
   lrange.forEach(System.out::println);                         
 // 裁剪元素                                                        
   String ltrim = jedis.ltrim("list-key", 0, 2);                
   System.out.println(ltrim);OK                                 

哈希(hash)

    Map<String, String> map = new HashMap<>();                   
    map.put("name", "张晓慧");                                      
    map.put("age", "19");                                        
    jedis.hmset("hash-key", map);                                
  // 获取属性                                                        
    List<String> hmget = jedis.hmget("hash-key", "age","name");  
    hmget.forEach(System.out::println);                          
  // 把年龄加一岁                                                      
    Long age = jedis.hincrBy("hash-key", "age", 1);              
    System.out.println(age);                                     
  // 检查key是否在散列中                                                 
    Boolean age = jedis.hexists("hash-key", "age");              
    System.out.println(age);  // true                            
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值