Redis是一个很棒的产品,单线程,高读写是它的核心
redis数据库初识
- Redis 简介
- Redis 的安装配置
- Redis 的常见操作
- Redis 的数据类型
- Redis 的事务控制
- Java 操作 Redis 数据库
Redis简介
redis的作用
Redis:REmote DIctionary Server( 远程字典服务器 ) 是完全开源免费的,用 C 语言编写的,遵守 BSD协议,是一个高性能的 (key/value) 分布式内存数据库,基于内存运行并支持持久化的 NoSQL 数据库,是当前最热门的 NoSql 数据库之一 , 也被人们称为数据结构服务器
BSD协议简单的说就是开源自由最大化,不以商业为中心
redis的优缺点
优点
- 性能极高 – Redis能支持超过 100K+ 每秒的读写频率。
- 丰富的数据类型 – Redis支持二进制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 数据类型操作。
- 原子 – Redis的所有操作都是原子性的,同时Redis还支持对几个操作全并后的原子性执行。
- 丰富的特性 – Redis还支持 publish/subscribe, 通知, key 过期等等特性。
缺点
- 是数据库容量受到物理内存的限制,不能用作海量数据的高性能读写,因此Redis适合的场景主要局限在较小数据量的高性能操作和运算上。
Redis 的安装(Linux下)
1.下载
wget -P /root/softdev http://download.redis.io/releases/redis-5.0.5.tar.gz
2.解压
tar zxvf redis-5.0.5.tar.gz -C /root/redis
3.安装C语言环境
yum install gcc-c++
4.切换到redis安装目录下.执行make命令
5.配置目录下的redis.conf文件.主要的目的
允许其他地址访问
关闭保护模式
设置密码
6.切换到目录下进行启动
src/redis-server redis.conf
可检查是否存在ps -ef |grep redis
Redis 的常见操作
- Keys *:指令 查看当前这个库中所有的key值
- exists key 名字 : 判断某个 key 值是否存在 0 表示不存在 1 表示存在
- move key 名字 数据库的索引下标: 将某个值移除到指定的库中
- Redis 默认有 16 个库,我们可以通过修改 redis 配置文件 redis.conf 来改变库的数量
- select 下标可以切换不同的数据库: select 下标
1 | (了解) |
Redis的数据类型
String类型
1 | SET key 名字 value 值: 设置单一键值对 (key 值相同会覆盖原来的值 , 类似于map 集合 ) |
List类型
1 | LPUSH: 向集合中添加内容 lpush 集合的名字 值 显示的顺序和添加的顺序相反。 |
hash类型(hash表的基本操作与string一样.特别适合存储对象数据)
1 | HSET: 存放一组键值对 hset key 值的名称 具体的值;(重复添加会覆盖原来的值) |
set类型(无序不重复)
1 | SADD:添加值 sadd 集合名称 值 .... |
Zset类型(是 string 类型的有序集合,也不可重复)
1 | sorted set 中的每个元素都需要指定一个分数,根据分数对元素进行升序排序,如果多个元素有相同的分数,则以字典序进行升序排序 |
1 | redis 127.0.0.1:6379> ZADD runoobkey 1 redis |
5.redis的事务规则
- 批量操作在发送 EXEC 命令前被放入队列缓存。
- 收到 EXEC 命令后进入事务执行,事务中任意命令执行失败,其余的命令依然被执行。
- 在事务执行过程,其他客户端提交的命令请求不会插入到事务执行命令序列中。
1 | redis 127.0.0.1:7000> multi |
maven项目下使用java操作redis数据库
1.创建一个简单的maven项目pom.xml如下
1 | <dependencies> |
2.使用jredis模板
1 | package com.wwj.test; |