1.Redis简介
Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库。
Redis 与其他 key - value 缓存产品有以下三个特点:
Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
Redis支持数据的备份,即master-slave模式的数据备份。
2.数据类型
1.string
语法:
保存:set key value
获取:get key
删除:del key
2.hash
语法
保存:hset key field value
获取:hget key field
删除:hdel key field
获取所有:hgetall key
3.list
list 类型可以添加一个元素到头部或者尾部。
语法:
保存:lpush key value 将元素加入到左边;rpush key value 将元素加入到右边;
获取:lrange key start end 范围获取(0 到 -1 可以获取所有的元素)
删除:lpop key/ rpop key
4.set
集合类型set不允许重复的元素。
语法:
保存:sadd key value
获取:smembers key 获取set集合中的所有元素
删除:srem key value 删除set集合中的某特元素
5.sortedset
sortedset 是有序集合,不允许重复元素,且是有序的,每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的元素进行排序的(同一个分数只允许一个变量存在,后面的会覆盖前面的)。有序的集合可以做热搜或者排行榜,搜索量由大到小进行排列。
语法:
保存:zadd key score value
获取:zrange key start end [with scores] (从0 到 -1 获取所有元素)
删除:zrem key value
3.Redis的常用命令
keys * 获取所有的key
select 0 选择第一个库
move myString 1 将当前的数据库key移动到某个数据库,目标库有,则不能移动
flushdb 清除指定库
randomkey 从当前数据库中随机返回
type key 类型
del key1 删除key
exists key 判断是否存在key
expire key 10 过期
pexpire key 1000 毫秒
persist key 删除过期时间
ttl key 查看还有多少秒过期,-1表示永不过期,-2表示已过期
4.主从复制
1- 拷贝多个redis.conf文件
2- 指定端口
3- 开启daemonize yes
4- Pid文件名字
5- Log文件名字
6- Dump.rdb名字
5.集群
1、创建6个文件夹
2、复制redis服务到6个文件夹中,并且设置六个conf文件 并修改配置
port 6379
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
appendonly yesdaemonize yes
3、启动redis服务,启动时指向各自的redis.conf
4、创建集群
1、安装ruby环境
安装Docker
yum install docker
启动docker
systemctl start docker
A: 下载镜像
docker pull inem0o/redis-trib
docker run -it --net host inem0o/redis-trib create --replicas 1
192.168.120.129:7000 192.168.120.129:7001
192.168.120.129:7002 192.168.120.129:7003
192.168.120.129:7004 192.168.120.129:7005
-it是为了可以输入
--net host 是为了上docker容器能连接上本地的宿主机
测试集群环境
到此集群搭建完成
6.idea + maven 使用jedis
Jedis所需要的jar包依赖
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.9.0</version>
</dependency>