Redis
Redis做一个最基本的了解
key-value
keyspace
redis是内存数据库,一切的数据都是存储到内存中的,同时redis为我们提供持久化功能,提供两种持久化方式,分别是RDB和AOF方式。数据的持久化会相对耗时。
RDB:snapshotting, 二进制格式
AOF:Append Only File, fsync
Redis概念
其没有表格的概念,而是以字典(键空间)的方式来管理的,
这与传统的SQL方式是不大一样的
01.键空间的类型
keyspace notification( 键空间通知)
02.结构: key-value存储
03.redis采用的是定期删除+惰性删除策略。 键到期、键被删除
可以设定过期时间:expire key 多少秒:设置多少秒后过期
04.场景
用途:可用于缓存,事件发布或订阅,高速队列等场景
Redis支持多个数据库,并且每个数据库的数据是隔离的不能共享
每个数据库对外都是一个从0开始的递增数字命名,Redis默认支持16个数据库
01.Redis不支持自定义数据库的名字,每个数据库都以编号命名,
开发者必须自己记录哪些数据库存储了哪些数据
02.Redis也不支持为每个数据库设置不同的访问密码,所以一个客户端要么可以访问全部数据库,
要么连一个数据库也没有权限访问
//如果赋值为-1,则表示不限制;如果pool已经分配了maxActive个jedis实例,则此时pool的状态为exhausted(耗尽)。
private static int MAX_ACTIVE = 1024;
//控制一个pool最多有多少个状态为idle(空闲的)的jedis实例,默认值也是8。
private static int MAX_IDLE = 200;
//等待可用连接的最大时间,单位毫秒,默认值为-1,表示永不超时。如果超过等待时间,则直接抛出JedisConnectionException;
private static int MAX_WAIT = 10000
Redis
Redis的键key 只能为字符串string
Redis的值value 的数据类型有5种
String
List
Hash 一个string类型的field和value的映射表
Set String 类型的无序集合。集合成员是唯一的
Sorted Set
常见命令操作
1. 客户端--启动客户端-命令行
redis-cli
或者 redis-cli -h host -p port -a password
eg: redis-cli -h 127.0.0.1 -p 6379 -a "mypass"
查看所有key
> keys *
-- 查看可以的类型 查看key的value是什么类型的type
> type keyexample
-- 查看可以存活多长时间
TTL keyexample
Redis中 Dbsize 命令用于返回当前数据库的 key 的数量
查看当前库的所有key :keys *
2.API操作
MULTI 、 EXEC 、 DISCARD 和 WATCH 是 Redis 事务的基础。
3.配置等信息
Redis 的配置文件位于 Redis 安装目录下,文件名为 redis.conf。
CONFIG GET CONFIG_SETTING_NAME
CONFIG SET 命令基本语法:
Redis监听端口,默认端口为6379
参考: