redis 的下载 配置 数据类型 连接 事务 密码 Java使用
目录
1. 下载,运行redis数据库,远程连接数据库
- 下载,解压即可
- 打开redis服务软件。端口为6379。
- cmd,切换到redis的目录,命令:redis-server.exe
- 连接服务器的redis服务器。(ip,端口,密码啥的)
- redis默认有16个数据库,通过0-15来标识,连接redis默认选择第一个数据库
- 可以看到,我们存的 name Mason保存在了默认的0号数据库中。
2. redis进行配置。
- Redis 的配置文件位于 Redis 安装目录下,文件名为 redis.conf(Windows 名为 redis.windows.conf)。
- 查看配置。
- config get 配置名称
- 使用 * 号获取所有配置项
- config get *
- 可以通过修改 redis.conf 文件或使用 CONFIG set 命令来修改配置。
- 可以看到timeout属性已经被修改了。
3. redis支持的数据类型:
- Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。
- redis存储的是key value格式。key都是字符串。value有以上5种形式。
3.1 字符串
3.2 哈希类型
3.3 list 列表类型:
- Redis 列表是简单的字符串列表,按照插入顺序排序。
- 你可以添加一个元素到列表的头部(左边)或者尾部(右边)。
3.4 Set 集合类型
3.5 zset(sorted set:有序集合)(类似捆绑一个权重)
- 不同的是每个元素都会关联一个double类型的分数。
- redis正是通过分数来为集合中的成员进行从小到大的排序。
- zset的成员是唯一的,但分数(score)却可以重复。
4. 本地连接 和 远程连接 redis服务。
- Redis 命令用于在 redis 服务上执行操作。
- 要在 redis 服务上执行命令需要一个 redis 客户端。
- Redis 客户端在我们之前下载的的 redis 的安装包中。
- 在下面的实例中我们连接到本地的 redis 服务并执行 PING 命令,该命令用于检测 redis 服务是否启动。
- 也可以远程连接
5. 发布订阅
- Redis 发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息。
- Redis 客户端可以订阅任意数量的频道。
- 下面的例子。一个客户端订阅了一个频道,然后另一个客户端发布了消息。这样客户端1就会接收到客户端2发布的消息。
6. redis事务(不像mysql的回滚)
- Redis 事务可以一次执行多个命令, 并且带有以下三个重要的保证:
- 批量操作在发送 EXEC 命令前被放入队列缓存。
- 收到 EXEC 命令后进入事务执行,事务中任意命令执行失败,其余的命令依然被执行。
- 在事务执行过程,其他客户端提交的命令请求不会插入到事务执行命令序列中。
- 一个事务从开始到执行会经历以下三个阶段:
- 开始事务。
- 命令入队。
- 执行事务。
-
单个 Redis 命令的执行是原子性的,但 Redis 没有在事务上增加任何维持原子性的机制,所以 Redis 事务的执行并不是原子性的。
-
事务可以理解为一个打包的批量执行脚本,但批量指令并非原子化的操作,中间某条指令的失败不会导致前面已做指令的回滚,也不会造成后续的指令不做。
-
下面是一个例子:
7. 设置密码:
- 下一次登录,你会发现,必须进行验证才行
8. Java 使用 Redis
- 需要驱动包,我采用maven导入的方式: