redis

这篇博客详细介绍了Redis的使用,包括Redis的数据类型如string、hash、list的常见操作,以及Redis的持久化存储方式RDB和AOF。此外,还探讨了Jedis在操作string类型数据上的应用。
摘要由CSDN通过智能技术生成

Redis

一.Redis入门;
在这里插入图片描述
学习redis , 以后用的最多的使用场景 就是用来 做缓存, 一般开发过程中,对于 那种 不经常改变的时候, 通常就 会 用redis 来做 缓存 . 从而 提高 效率, 优化 性能 .redis 是目前市面最重要 的一种 缓存 技术 .另外一点, 希望 能够 后面 每学 一个 新的技术, 能够 清楚的 定位 这个技术是用来 哪里的 .

二.数据类型及对应操作;

  1. 数据类型-string基本操作
SET key value 保存一个值			key表示字符串的名称,value表示值
	保存复杂的字符串value是使用引号: set msg "hello word"
get key 获取一个值
MSET key value [key value ...]  保存多组值,[]表示可选值
MGET key [key ...] 获取多组值 
APPEND key value 在原有的字符串上追加一段内容
strlen key 获取字符串的长度
del key 删除key,对应的value值也就被一起删除了

2.数据类型-hash基本操作

1 存值/修改
	语法:hset hash名称 field value;  //存一组值
			hset user:123 name tom
	语法:hmset hash名称 field value field value field value ...;  //存一组值
			hset user:123 age 20 address wh	
2 获取
	hget hash名称 field //获取一组值
	hmget hash名称 field field field...//获取多组值
	hgetAll hash名称 //获取所有的field以及对应的value值
	hlen hash名称 //获取hash中存储的数据的长度
	
	hkeys hash名称  //获取hash中存储的所有的key
	hvals hash名称  //获取hash中存储的所有的value
3 删除
	hdel hash名称 field //删除field对应的value

3.数据类型-list基本操作

LPUSH list名称 value [value ...] 	 向集合的头部保存一个值	key表示集合名称
LRANGE list名称 start stop   lrange list01 0 -1  获取集合中所有的值 正数表示从左往右数,0开始,负数表示从右往左数,-1开始,-1表示最后一个值
LPOP list名称  弹出集合头部元素
LREM list名称 count value  移除指定count个数的value值
LINDEX list名称 index 	根据索引获取值

4.数据类型-set基本操作

sadd set名称 value [value ...]   //存值
smembers set名称  //取值
sismember set名称 value  //是否有该值
srem set名称 value   //删除该值
scard set名称  //获取集合的长度
srandmember set名称 [count] //随机取cout个值

**==补充:给redis设置密码:搜索/requirepass关键字,将注释的密码放开==**

5 其他操作
5.1 key常用指令

删除指定的key : del username;  删除username
查看所有的key : keys *
查看key对应value的类型: type key

5.2 DB常用指令

select 数据库索引;       redis中默认有16个数据库,索引从0-15
flushdb  清空当前数据库中的所有key
flushall 清空所有数据库中的所有key

【第三章】Jedis的使用
1.编写Redis配置文件;

/*
    目的:将jedis连接池封装到工具类中
    这个工具类需要做哪些事?
        1 读取配置文件
        2 创建jedis连接池对象    连接池对象和配置文件只需要加载一次,可以放到static静态代码块中
        3 对外提供一个方法,从连接池中获取连接返回
        4 对外提供一个方法,释放资源
        
    注意:1 需要讲redis.conf配置文件中的bind 127.0.0.1 注释掉。2 给redis添加访问密码,搜索/requirepass关键字。
 */
public class JedisUtils {

  private static JedisPool jedisPool;
  //连接池对象和配置文件只需要加载一次,可以放到static静态代码块中
  static{
    //1 读取配置文件
    //使用ResourceBundle加载属性文件
    ResourceBundle bundle = ResourceBundle.getBundle("jedis");//只能从类路径(src)中读取属性文件,不需要写文件后缀名
    //获取值
    String host = bundle.getString("redis.host");
    int port=Integer.parseInt(bundle.getString("redis.port"));
    String password = bundle.getString("redis.auth");
    //获取最大连接数和默认数据库
    int maxActive = Integer.parseInt(bundle.getString("redis.maxActive"));

    //2 创建jedis连接池对象
    //创建连接池配置对象
    JedisPoolConfig config=new JedisPoolConfig();
    config.setMaxTotal(maxActive);

    //创建jedis连接池对象
    jedisPool=new JedisPool(config,host,port,6000,password);
  }

  //3 对外提供一个方法,从连接池中获取连接返回
  public static Jedis getJedis(){
    return jedisPool.getResource();
  }

  // 4 对外提供一个方法,释放资源
  public static void close(Jedis jedis){
    if(jedis!=null){
      jedis.close();
    }
  }

【第四章】redis持久化
在这里插入图片描述
上面的这两张图, 分别就是 RDB 和 AOF 两种 存储 持久化存储方式.

RDB: 是通过 快照的形式来 做 持久化存储

AOF: 是通过 记录 操作 的过程来 来做 持久化存储

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值