Java Redis系列2 (redis的安装与使用+redis持久化的实现)
什么是Redis?
Redis是用C语言开发的一个开源的高性能键值对(key-value)数据库,官方提供测试数据,50个并发执行100000个请求,读的速度是110000次/s,写的速度是81000次/s ,且Redis通过提供多种键值数据类型来适应不同场景下的存储需求,目前为止Redis支持的键值数据类型如下:
- 字符串类型 string
- 哈希类型 hash
- 列表类型 list
- 集合类型 set
- 有序集合类型 sortedset
Redis的应用场景
1.缓存(数据查询,短链接,新闻内容,商品内容)
2.聊天室的在线好友
3.任务队列(秒杀,抢购)
4.应用排行榜
5.网站访问统计
6.数据过期处理
7.分布式集群架构中的session分离
下载安装
- 官网:https://redis.io
- 中文网 src="https://img-blog.csdnimg.cn/20200809134225926.png" alt="在这里插入图片描述" loading="lazy">
* 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演示
//从左边插入元素127.0.0.1:6379> lpush list a(integer) 1127.0.0.1:6379> lpush list b(integer) 2//获取全部元素127.0.0.1:6379> lrange list 0 -11) "b"2) "a"127.0.0.1:6379> rpush list c(integer) 3127.0.0.1:6379> lrange list 0 -11) "b"2) "a"3) "c"//移除列表最左边的元素127.0.0.1:6379> lpop list"b"127.0.0.1:6379> lrange list 0 -11) "a"2) "c"//移除列表最右边的元素127.0.0.1:6379> rpop list"c"127.0.0.1:6379> lrange list 0 -11) "a"127.0.0.1:6379>
集合类型set:不允许重复元素
1.存储数据 sadd key value
2.删除数据 srem key value
3.获取数据:smembers key获取set集合中的所有元素//添加数据127.0.0.1:6379> sadd set 1(integer) 1127.0.0.1:6379> sadd set 2(integer) 1//获取所有元素127.0.0.1:6379> smembers set1) "1"2) "2"//删除指定元素127.0.0.1:6379> srem set 1(integer) 1127.0.0.1:6379> smembers set1) "2"127.0.0.1:6379>
有序集合类型sortedset
不允许重复元素,且元素有序,每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。
//插入数据127.0.0.1:6379> zadd sortedset 1 zhangsan(integer) 1127.0.0.1:6379> zadd sortedset 5 lisi(integer) 1127.0.0.1:6379> zadd sortedset 2 wangwu(integer) 1//获取数据127.0.0.1:6379> zrange sortedset 0 -11) "zhangsan"2) "wangwu"3) "lisi"//移除指定数据127.0.0.1:6379> zrem sortedset wangwu(integer) 1127.0.0.1:6379> zrange sortedset 0 -11) "zhangsan"2) "lisi"127.0.0.1:6379>
通用命令
keys * :获取所有键
type key :获取键对应的value的类型
del key :删除指定的key valueRedis 持久化
为什么要进行持久化?
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.confAOF:日志记录的方式,可以记录每一条命令的操作。可以每一次命令操作后,持久化数据
1. 编辑redis.windwos.conf文件appendonly no(关闭aof) --> appendonly yes (开启aof)
# appendfsync always : 每一次操作都进行持久化 appendfsync everysec : 每隔一秒进行一次持久化 # appendfsync no : 不进行持久化
以上就是Redis的一些基础操作及怎么进行持久化,这也是我JAVA redis系列的第二篇,后面我会继续更新,写作不易,请各位老铁点个赞支持一下,觉得有帮助的也可以收藏呀,我会经常更新文章,也可以关注我呀
Java Redis系列2 (redis的安装与使用+redis持久化的实现))2017 • Cdiscount 中国区招商峰会、 Product Boost、 欧洲各国税务官诠释亚马逊税务全攻略、 速卖通的春雷计划主要说啥?速卖通春雷计划对跨境电商卖家有什么好处?、 天猫双十一狂欢节,超级奶爸将服务全球200余个国家1.5亿消费者!、 亚马逊防止跟卖的几种办法、 台山温泉在哪?怎么去?、 从化温泉水质如何?有什么作用?、 佛冈古冰川遗迹在哪?怎么去?、
没有评论:
发表评论