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. 解压直接可以使用:

		* 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) 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集合中的所有元素

//添加数据
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正是通过分数来为集合中的成员进行从小到大的排序。

//插入数据
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文件

				appendonly no(关闭aof) --> appendonly yes (开启aof)

				# appendfsync always : 每一次操作都进行持久化
appendfsync everysec : 每隔一秒进行一次持久化
# appendfsync no : 不进行持久化

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

Java Redis系列2 (redis的安装与使用+redis持久化的实现))的更多相关文章

  1. redis 系列1 linux下安装说明

    一. 安装环境 操作系统:centos 7 ,redis版本4.06,客户端windows 7 ,vs2015. 1.1 安装前的条件 yum -y install gcc-c++ 判断是否安装了gc ...

  2. 初识Redis系列之二:安装及简单使用

    仅介绍windows下的安装 一:下载地址:https://github.com/MSOpenTech/redis/releases. Redis 支持 32 位和 64 位.这个需要根据你系统平台的 ...

  3. redis系列(三):python操作redis

    1.安装包 pip install redis 2.使用 # -*- coding: utf-8 -*- # @Time : 18-12-7 下午4:33 # @Author : Felix Wang ...

  4. 【Redis系列】Spring boot实现监听Redis key失效事件

    talk is cheap, show me the code. 一.开启Redis key过期提醒 方式二:修改配置文件 redis.conf # 默认 notify-keyspace-events ...

  5. Redis系列---安装redis单机版02

    本章将带领大家一步一步安装Redis单机版(Redis从3.0版本后就开始支持集群了,集群将会后边章节带领大家操作) 准备环境: Centos 6.X redis3.+版本(自行下载,redis 的版 ...

  6. Redis 系列

    Redis 系列 [Redis 系列(01)安装配制] [Redis 系列(02)数据结构] [Redis 系列(03-1)进阶 - 发布订阅] [Redis 系列(03-2)进阶 - 事务] [Re ...

  7. 【目录】redis 系列篇

    随笔分类 - redis 系列篇 redis 系列27 Cluster高可用 (2) 摘要: 一. ASK错误 集群上篇最后讲到,对于重新分片由redis-trib负责执行,关于该工具以后再介绍.在进 ...

  8. 一台电脑多个文件夹安装多个Redis服务

    思路: 在弄Mongodb的时候,可以在不同的文件夹下面运行不同的mongodb实例 那么Redis可以吗 现在添加一个Redis文件夹,里面放置redis,修改配置端口为6378 将以前的那个Red ...

  9. Yii系列教程(三):集成Redis

    1安装Redis 切换至/usr/local/src下,下载并安装redis: $ wgethttp://redis.googlecode.com/files/redis-2.6.12.tar.gz ...

  10. Redis系列总结--这几点你会了吗?

    文章原创于公众号:程序猿周先森.本平台不定时更新,喜欢我的文章,欢迎关注我的微信公众号. 前面几篇已经对Redis中几个关键知识点做了介绍,本篇主要对Redis系列做一下总结以及对Redis中常见面试 ...

随机推荐

  1. ADB-常见命令使用详解

    ADB命令使用详解 ADB是一个 客户端-服务器端 程序, 其中客户端是你用来操作的电脑, 服务器端是android设备. 1.连接android设置adb connect 设备名例如:adb con ...

  2. mysql中常见约束

    #常见约束 /* 含义:一种限制,用于限制表中的数据,为了保证表中的数据的准确和可靠性 分类:六大约束 NOT NULL:非空,用于保证该字段的值不能为空 比如姓名.学号等 DEFAULT:默认,用于 ...

  3. OSCP Learning Notes - Exploit(4)

    Client Side Attacks Tool: setoolkit 1. Start setoolkit on Kali Linux. setoolkit 2. Select 1) Social- ...

  4. layui 数据表格自带的导出Excel,身份证等E+/000问题解决

    layui数据表格的工具栏自带导出Excel 会将身份证等 长整数的 自动变成E+并且 后面有000.从而导致数据不能完整导出. 解决方案: 1.先下载Excel的插件包.将压缩包内的两个js放到 l ...

  5. springboot(九)文件上传

    在企业级项目开发过程中,上传文件是最常用到的功能.SpringBoot集成了SpringMVC,当然上传文件的方式跟SpringMVC没有什么出入.下面我们来创建一个SpringBoot项目完成单个. ...

  6. heredoc

    Heredoc在正规的PHP文档中和技术书籍中一般没有详细讲述.他是一种Perl风格的字符串输出技术.使用heredoc技术可以实现界面与代码的准分离,比如phpwind模板.规则如下:1.”< ...

  7. mongo安装和cmd运行命令

    一.安装方式 安装mongodb :www.mongodb.com next-->complete-->Instal MongoD as Service 不勾选 --> Instal ...

  8. Arch Linux卡在 sddm 登录界面

    问题描述: 刚装完Arch Linux 之后发现能正常打开登录界面,但点击登录之后闪屏了一下又回到登录界面 可能的原因: /home 目录没挂载磁盘 user的权限没有设置好 解决办法: 对于第一种 ...

  9. 微服务迁移记(五):WEB层搭建(4)-简单的权限管理

    一.redis搭建 二.WEB层主要依赖包 三.FeignClient通用接口 以上三项,参考<微服务迁移记(五):WEB层搭建(1)> 四.SpringSecurity集成 参考:< ...

  10. 6-Pandas之缺失值处理

    一.了解缺失值 通常使用 NA('not available')来代指缺失值 在Pandas的数据结构中,缺失值使用 NaN('Not a Number')进行标识 除了汇总统计方法,还可以使用isn ...