前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java Redis系列2 (redis的安装与使用+redis持久化的实现))

Java Redis系列2 (redis的安装与使用+redis持久化的实现))

作者头像
一只胡说八道的猴子
发布2020-09-27 10:25:23
2920
发布2020-09-27 10:25:23
举报

Java Redis系列2 (redis的安装与使用+redis持久化的实现)

什么是Redis?

在这里插入图片描述
在这里插入图片描述

Redis是用C语言开发的一个开源的高性能键值对(key-value)数据库,官方提供测试数据,50个并发执行100000个请求,读的速度是110000次/s,写的速度是81000次/s ,且Redis通过提供多种键值数据类型来适应不同场景下的存储需求,目前为止Redis支持的键值数据类型如下:

  1. 字符串类型 string
  2. 哈希类型 hash
  3. 列表类型 list
  4. 集合类型 set
  5. 有序集合类型 sortedset

Redis的应用场景

1.缓存(数据查询,短链接,新闻内容,商品内容) 2.聊天室的在线好友 3.任务队列(秒杀,抢购) 4.应用排行榜 5.网站访问统计 6.数据过期处理 7.分布式集群架构中的session分离

下载安装

  1. 官网:https://redis.io
  2. 中文网:http://www.redis.net.cn/
  3. 解压直接可以使用:
在这里插入图片描述
在这里插入图片描述
代码语言:javascript
复制
		* redis.windows.conf:配置文件
		* redis-cli.exe:redis的客户端
		* redis-server.exe:redis服务器端

Redis的数据结构

看过我上一篇文章的兄弟应该都知道redis是key,value格式的数据,其中key是字符串 ,value是有五种不同的数据结构

图解

在这里插入图片描述
在这里插入图片描述

value的数据结构类型 1.字符串类型 String 2.哈希类型 hash:map格式 3.列表类型list:linkedlist格式,支持重复元素 4.集合类型 set:不允许重复元素 5.有序集合类型:sortedset:不允许重复元素,且元素有顺序

命令操作

我们先打开服务器端

在这里插入图片描述
在这里插入图片描述

再打开客户端

在这里插入图片描述
在这里插入图片描述

1.字符串类型 1.1存储 set key value 1.2获取 get value 演示

在这里插入图片描述
在这里插入图片描述

2.哈希类型 1.存储 :hset key field value 2.获取 :hget key field 3.获取全部的key和valu :hgetall myhash 4.删除:hdel key field 演示

在这里插入图片描述
在这里插入图片描述

3.列表类型 可以添加一个元素带一个列表的头部或尾部 1.lpush key value:将元素加入到列表左表 2.rpush key value:将元素加入到列表的右表 3.获取:lrange key start end:范围获取 4.删除列表最左边的元素并将元素返回:lpop key 5.删除列表最右边的元素并将元素返回:rpop key

演示

在这里插入图片描述
在这里插入图片描述
代码语言:javascript
复制
//从左边插入元素
127.0.0.1:6379> lpush list a
(integer) 1
127.0.0.1:6379> lpush list b
(integer) 2
//获取全部元素
127.0.0.1:6379> lrange list 0 -1
1) "b"
2) "a"
127.0.0.1:6379> rpush list c
(integer) 3
127.0.0.1:6379> lrange list 0 -1
1) "b"
2) "a"
3) "c"
//移除列表最左边的元素
127.0.0.1:6379> lpop list
"b"
127.0.0.1:6379> lrange list 0 -1
1) "a"
2) "c"
//移除列表最右边的元素
127.0.0.1:6379> rpop list
"c"
127.0.0.1:6379> lrange list 0 -1
1) "a"
127.0.0.1:6379>

集合类型set:不允许重复元素

1.存储数据 sadd key value 2.删除数据 srem key value 3.获取数据:smembers key获取set集合中的所有元素

在这里插入图片描述
在这里插入图片描述
代码语言:javascript
复制
//添加数据
127.0.0.1:6379> sadd set 1
(integer) 1
127.0.0.1:6379> sadd set 2
(integer) 1
//获取所有元素
127.0.0.1:6379> smembers set
1) "1"
2) "2"
//删除指定元素
127.0.0.1:6379> srem set 1
(integer) 1
127.0.0.1:6379> smembers set
1) "2"
127.0.0.1:6379>

有序集合类型sortedset

不允许重复元素,且元素有序,每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。

在这里插入图片描述
在这里插入图片描述
代码语言:javascript
复制
//插入数据
127.0.0.1:6379> zadd sortedset 1 zhangsan
(integer) 1
127.0.0.1:6379> zadd sortedset 5 lisi
(integer) 1
127.0.0.1:6379> zadd sortedset 2 wangwu
(integer) 1
//获取数据
127.0.0.1:6379> zrange sortedset 0 -1
1) "zhangsan"
2) "wangwu"
3) "lisi"
//移除指定数据
127.0.0.1:6379> zrem sortedset wangwu
(integer) 1
127.0.0.1:6379> zrange sortedset 0 -1
1) "zhangsan"
2) "lisi"
127.0.0.1:6379>

通用命令

keys * :获取所有键 type key :获取键对应的value的类型 del key :删除指定的key value

Redis 持久化

为什么要进行持久化? redis是一个内存数据库,当redis服务器重启时,数据会丢失,所以我们需要将redis数据持久化到硬盘文件中 redis的持久化机制 1.RDB:默认方式,不需要进行配置,默认就是使用这种机制 在一定的时间间隔内,通过检测key的变化情况,然后持久化数据 1.1编辑redis.windows.conf文件

在这里插入图片描述
在这里插入图片描述

save 900 1 15分钟后至少一个发生改变 save 300 10 五分钟后至少10个发生改变 save 60 10000 一分钟后至少10000个发生改变 1.2 重新启动redis服务器,并指定配置文件名称 D:\JavaWeb2018\day23_redis\资料\redis\windows-64\redis-2.8.9>redis-server.exe redis.windows.conf

在这里插入图片描述
在这里插入图片描述

AOF:日志记录的方式,可以记录每一条命令的操作。可以每一次命令操作后,持久化数据 1. 编辑redis.windwos.conf文件

在这里插入图片描述
在这里插入图片描述
代码语言:javascript
复制
				appendonly no(关闭aof) --> appendonly yes (开启aof)
在这里插入图片描述
在这里插入图片描述
代码语言:javascript
复制
				# appendfsync always : 每一次操作都进行持久化
				appendfsync everysec : 每隔一秒进行一次持久化
				# appendfsync no	 : 不进行持久化

以上就是Redis的一些基础操作及怎么进行持久化,这也是我JAVA redis系列的第二篇,后面我会继续更新,写作不易,请各位老铁点个赞支持一下,觉得有帮助的也可以收藏呀,我会经常更新文章,也可以关注我呀

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-08-09 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Java Redis系列2 (redis的安装与使用+redis持久化的实现)
  • 什么是Redis?
  • Redis的应用场景
  • 下载安装
  • Redis的数据结构
  • 命令操作
  • 集合类型set:不允许重复元素
  • 有序集合类型sortedset
  • 通用命令
  • Redis 持久化
  • 以上就是Redis的一些基础操作及怎么进行持久化,这也是我JAVA redis系列的第二篇,后面我会继续更新,写作不易,请各位老铁点个赞支持一下,觉得有帮助的也可以收藏呀,我会经常更新文章,也可以关注我呀
相关产品与服务
云数据库 Redis
腾讯云数据库 Redis(TencentDB for Redis)是腾讯云打造的兼容 Redis 协议的缓存和存储服务。丰富的数据结构能帮助您完成不同类型的业务场景开发。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档