![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
redis
张志飞
知易行难
展开
-
Redis入门(一)
简介:Redis实体个开源的高性能得键值对数据库。它通过提供多种键值对数据类型来适应不同场景下的存储需求,并且借助许多高层级的接口使其可以胜任,如缓冲,队列系统的不同角色。 ^^^^–历史与发展 2008年,意大利的一家创业公司Merzia推出了一款基于MySQL的网站实时统计系统LLOOGG,然而没过多久该公司的创始人 Salvatore Sanfilippo便 对MySQL的性能感到失望,于原创 2017-09-15 15:53:34 · 170 阅读 · 0 评论 -
Redis的持久化之AOF
Redis的AOF持久化策略是将发送到Redis服务端的每一条命令都记录下来,并且保存到硬盘中的AOF文件,AOF文件的位置和RDB文件的位置相同,都是通过dir参数设置,默认的文件名是appendonly.aof,可以通过appendfilename参数修改可以使用BGREWRITEAOF命令来重写AOF文件重写策略的参数设置: auto-aof-rewrite-percentage 100原创 2017-09-19 17:07:31 · 295 阅读 · 0 评论 -
Redis的持久化
Redis的强大功能很大程序上是由于将其所有数据都存储到内存中,为了使Redis在重启后仍能保证数据不丢失,需要将数据从内存中以某种形式持久化到硬盘中 —>Redis持久化有两种方式,一种是RDB,一种的AOF,可以单独使用其中一种或将两种结合使用RDB方式是通过快照完成的,当符合一定条件时Redis会自动将内存中的所有数据进行快照并且存储到硬盘上,进行快照的条件在配置文件中指定,有2个参数构成,原创 2017-09-19 15:49:17 · 629 阅读 · 0 评论 -
Redis常见面试题(一)
1.使用redis的好处有哪些?(1) 速度快,因为数据存在内存中,类似于HashMap,HashMap的优势就是查找和操作的时间复杂度都是O(1)(2) 支持丰富数据类型,支持string,list,set,sorted set,hash(3) 支持事务,操作都是原子性,所谓的原子性就是对数据的更改要么全部执行,要么全部不执行(4) 丰富的特性:可用于缓存,消息,按key设置过期时间,过期后将会自转载 2017-09-19 10:39:00 · 484 阅读 · 0 评论 -
Redis 服务器
Redis 服务器命令主要是用于管理 redis 服务。 实例以下实例演示了如何获取 redis 服务器的统计信息:redis 127.0.0.1:6379> INFOServerredis_version:2.8.13 redis_git_sha1:00000000 redis_git_dirty:0 redis_build_id:c2238b38b1edb0e2 redis_mode:原创 2017-09-17 10:57:51 · 233 阅读 · 0 评论 -
Redis 连接
Redis 连接命令主要是用于连接 redis 服务。 实例以下实例演示了客户端如何通过密码验证连接到 redis 服务,并检测服务是否在运行: redis 127.0.0.1:6379> AUTH "password"OKredis 127.0.0.1:6379> PINGPONGRedis 连接命令下表列出了 redis 连接的基本命令: 序号 命令及描述 1 AUTH pas原创 2017-09-17 10:54:34 · 173 阅读 · 0 评论 -
Redis 脚本
Redis 脚本使用 Lua 解释器来执行脚本。 Reids 2.6 版本通过内嵌支持 Lua 环境。执行脚本的常用命令为 EVAL。 语法Eval 命令的基本语法如下: redis 127.0.0.1:6379> EVAL script numkeys key [key ...] arg [arg ...]实例以下实例演示了 redis 脚本工作过程:redis 127.0.0.1:6379>原创 2017-09-17 10:46:40 · 278 阅读 · 0 评论 -
Redis 事务
Redis 事务可以一次执行多个命令, 并且带有以下两个重要的保证:事务是一个单独的隔离操作:事务中的所有命令都会序列化、按顺序地执行。事务在执行的过程中,不会被其他客户端发送来的命令请求所打断。事务是一个原子操作:事务中的命令要么全部被执行,要么全部都不执行。一个事务从开始到执行会经历以下三个阶段:开始事务。命令入队。执行事务。实例以下是一个事务的例子, 它先以 MULTI 开始一个事务原创 2017-09-17 10:28:30 · 185 阅读 · 0 评论 -
Redis 发布订阅
Redis 发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息。Redis 客户端可以订阅任意数量的频道。下图展示了频道 channel1 , 以及订阅这个频道的三个客户端 —— client2 、 client5 和 client1 之间的关系:当有新消息通过 PUBLISH 命令发送给频道 channel1 时, 这个消息就会被发送给订阅它的三个客户原创 2017-09-16 11:18:04 · 282 阅读 · 0 评论 -
Redis HyperLogLog
Redis 在 2.8.9 版本添加了 HyperLogLog 结构。Redis HyperLogLog 是用来做基数统计的算法,HyperLogLog 的优点是,在输入元素的数量或者体积非常非常大时,计算基数所需的空间总是固定 的、并且是很小的。在 Redis 里面,每个 HyperLogLog 键只需要花费 12 KB 内存,就可以计算接近 2^64 个不同元素的基 数。这和计算基数时,元素越多原创 2017-09-16 11:10:22 · 249 阅读 · 0 评论 -
Redis 有序集合(sorted set)
Redis 有序集合和集合一样也是string类型元素的集合,且不允许重复的成员。不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。有序集合的成员是唯一的,但分数(score)却可以重复。集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。 集合中最大的成员数为 232 - 1 (4294967295, 每个集合可存储40多亿原创 2017-09-16 11:04:27 · 289 阅读 · 0 评论 -
Redis 集合(Set)
Redis的Set是string类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。Redis 中 集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。集合中最大的成员数为 232 - 1 (4294967295, 每个集合可存储40多亿个成员)实例redis 127.0.0.1:6379> SADD runoobkey redis(integer) 1redis原创 2017-09-16 10:45:50 · 210 阅读 · 0 评论 -
Redis 列表(List)
Redis列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)一个列表最多可以包含 232 - 1 个元素 (4294967295, 每个列表超过40亿个元素)实例redis 127.0.0.1:6379> LPUSH runoobkey redis(integer) 1redis 127.0.0.1:6379> LPUSH runoobkey mon原创 2017-09-15 21:02:48 · 202 阅读 · 0 评论 -
Redis 哈希(Hash)
Redis hash 是一个string类型的field和value的映射表,hash特别适合用于存储对象。Redis 中每个 hash 可以存储 232 - 1 键值对(40多亿)。 实例127.0.0.1:6379> HMSET runoobkey name "redis tutorial" description "redis basic commands for caching" lik原创 2017-09-15 20:36:53 · 266 阅读 · 0 评论 -
redis字符串命令
下表列出了常用的 redis 字符串命令: 序号 命令及描述 1 SET key value 设置指定 key 的值 2 GET key 获取指定 key 的值。 3 GETRANGE key start end 返回 key 中字符串值的子字符 4 GETSET key value 将给定 key 的值设为 v原创 2017-09-15 20:30:59 · 189 阅读 · 0 评论 -
redis常用命令
1 DEL key 该命令用于在 key 存在时删除 key。 2 DUMP key 序列化给定 key ,并返回被序列化的值。 3 EXISTS key 检查给定 key 是否存在。 4 EXPIRE key seconds 为给定 key 设置过期时间。 5 EXPIREAT key timestam原创 2017-09-15 20:21:57 · 189 阅读 · 0 评论 -
Redis配置说明
参数说明redis.conf 配置项说明如下:Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程daemonize no当Redis以守护进程方式运行时,Redis默认会把pid写入/var/run/redis.pid文件,可以通过pidfile指定pidfile /var/run/redis.pid指定Redis监听端口,默认端口为6379,作者在自己的一篇原创 2017-09-15 19:40:56 · 226 阅读 · 0 评论 -
第一个jedis程序
所需的jar包在此 redis.properties redis.maxIdle=30 redis.minIdle=10 redis.maxTotal=10 redis.url=localhost redis.port=6379JedisPoolUtils类package com.imust.jedis;import java.io.IOException;import java.io原创 2017-09-15 16:20:15 · 231 阅读 · 0 评论 -
SpringBoot精藏(十一)SpringBoot中使用redis实现消息队列
这篇文章主要讲述如何在springboot中用reids实现消息队列。准备阶段安装redis,可参考我的另一篇文章,5分钟带你入门Redis。java 1.8maven 3.0idea环境依赖创建一个新的springboot工程,在其pom文件,加入spring-boot-starter-data-redis依赖:<dependency> <groupId...原创 2018-04-09 15:39:43 · 492 阅读 · 0 评论