Redis数据库
向小凯同学学习
余生向小凯同学学习,做个暖男!
展开
-
用Nginx+Redis实现session共享的均衡负载
原文地址:https://segmentfault.com/a/1190000004708640前言 大学三年多,也做个几个网站和APP后端,老是被人问到,如果用户多了服务器会不会挂,总是很尴尬的回答:“哈哈,我们的用户还少,到了服务器撑不住的时候,估计都上市了吧”。说是这么说,但是对于有强迫症的我,这个问题一直回响在我脑海里,久久不散啊。如今大四下了,终于有时间来深入了解一下这个问题了。貌似解决转载 2017-03-28 22:43:17 · 664 阅读 · 0 评论 -
redis必杀高级:客户端连接
题记:Redis 通过监听一个 TCP 端口或者 Unix socket 的方式来接收来自客户端的连接,当一个连接建立后,Redis 内部会进行以下一些操作:首先,客户端 socket 会被设置为非阻塞模式,因为 Redis 在网络事件处理上采用的是非阻塞多路复用模型。 然后为这个 socket 设置 TCP_NODELAY 属性,禁用 Nagle 算法 然后创建一个可读的文件事件用于监听这个客原创 2017-08-18 11:08:53 · 374 阅读 · 0 评论 -
redis必杀高级:管道技术
题记Redis是一种基于客户端-服务端模型以及请求/响应协议的TCP服务。这意味着通常情况下一个请求会遵循以下步骤:客户端向服务端发送一个查询请求,并监听Socket返回,通常是以阻塞模式,等待服务端响应。 服务端处理命令,并将结果返回给客户端。Redis 管道技术 Redis 管道技术可以在服务端未响应时,客户端可以继续向服务端发送请求,并最终一次性读取所有服务端的响应。实例 查看 redi原创 2017-08-18 11:14:20 · 349 阅读 · 0 评论 -
Redis API 必杀解读:引入RedisTemplate
题记在工作和学习中啊,比如说JAVA开发,要使用Redis,首先要引入一个RedisTemplate类//// Source code recreated from a .class file by IntelliJ IDEA// (powered by Fernflower decompiler)//package org.springframework.data.redis.core;im原创 2017-08-18 16:20:34 · 30000 阅读 · 2 评论 -
Redis API 必杀解读(二):重要API
大部分的用户都喜欢用RedisTemplate,它相应的包是org.springframework.data.redis.core。该模板实际是Redis模块的核心类,因为它的功能丰富。模板为Redis交互提供了高级抽象。虽然RedisConnection提供接受和返回二进制值(字节数组)的低级方法,但该模板可以处理序列化和连接管理,使得用户不需要处理太多的细节。 此外,模板提供了操作视原创 2017-08-19 18:09:50 · 2093 阅读 · 0 评论 -
Redis 优势以及与其他key-value存储的不同
Redis 优势性能极高 – Redis能读的速度是110000次/s,写的速度是81000次/s 。 丰富的数据类型 – Redis支持二进制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 数据类型操作。 原子 – Redis的所有操作都是原子性的,同时Redis还支持对几个操作全并后的原子性执行。 丰富的特性 – Redis还支持 publi原创 2017-08-15 19:31:02 · 1726 阅读 · 0 评论 -
redis配置
语法:127.0.0.1:6379> CONFIG GET CONFIG_SETTING_NAME 例如: 编辑配置你可以通过修改 redis.conf 文件或使用 CONFIG set 命令来修改配置。CONFIG SET 命令基本语法:redis 127.0.0.1:6379> CONFIG SET CONFIG_SETTING_NAME NEW_CONFIG_VALUE参数说明redis原创 2017-08-15 19:59:47 · 219 阅读 · 0 评论 -
redis数据类型
五种数据类型Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。String(字符串)string是redis最基本的类型,你可以理解成与Memcached一模一样的类型,一个key对应一个value。string类型是二进制安全的。意思是redis的string可以包含任何数据。比如jpg图片或者序列化原创 2017-08-15 20:42:25 · 297 阅读 · 0 评论 -
Redis 连接命令
Redis 命令用于在 redis 服务上执行操作。要在 redis 服务上执行命令需要一个 redis 客户端。Redis 客户端在我们之前下载的的 redis 的安装包中。语法 Redis 客户端的基本语法为:启动 redis 客户端,打开终端并输入命令 redis-cli。该命令会连接本地的 redis 服务。$redis-cliredis 127.0.0.1:6379>redis 12原创 2017-08-15 20:51:24 · 11174 阅读 · 1 评论 -
redis必杀命令:键(key)
语法Redis 键命令的基本语法如下:redis 127.0.0.1:6379> COMMAND KEY_NAME例如: redis 127.0.0.1:6379> SET w3ckey redis OK redis 127.0.0.1:6379> DEL w3ckey (integer) 1Redis keys 命令序号 命令及描述1 DEL key 该命令用原创 2017-08-15 23:17:20 · 268 阅读 · 0 评论 -
redis必杀命令:字符串(String)
题记:Redis 字符串数据类型的相关命令用于管理 redis 字符串值,基本语法如下。redis 127.0.0.1:6379> COMMAND KEY_NAME字符串命令序号 命令及描述1 SET key value 设置指定 key 的值2 GET key 获取指定 key 的值。3 GETRANGE key start end 返回 key 中字符串值的子字符4 G原创 2017-08-15 23:22:16 · 279 阅读 · 0 评论 -
redis必杀命令:哈希(Hash)
题记:Redis hash 是一个string类型的field和value的映射表,hash特别适合用于存储对象。Redis 中每个 hash 可以存储 232 - 1 键值对(40多亿)。例如:127.0.0.1:6379> HMSET XIONGBEN name "王栋" desc "今年24岁" likes 20 visitors 23000OK127.0.0.1:6379> HGETAL原创 2017-08-15 23:28:59 · 432 阅读 · 0 评论 -
如何查看yum 安装的软件路径(不要再忘了)
如何查看yum 安装的软件路径今天使用yum 安装了一个软件,后来没有找到路径1、首先安装一个redis[root@iZbp1eem925ojwyx17ao9kZ ~]# yum install redis2、查找redis的安装包[root@iZbp1eem925ojwyx17ao9kZ ~]# rpm -qa|grep redisredis-3.2.10-2.el7.x8...原创 2018-03-22 20:05:24 · 87628 阅读 · 10 评论 -
Linux安装redis,启动配置不生效(指定启动加载配置文件)
一、今天有个同学问我,为什么明明安装了redis,修改了配置,启动的时候,配置还是不生效。如下图是安装后的redis文件图。root@iZbp17cj14ulhfrlj02rkaZ:~/redis-4.0.9# ls00-RELEASENOTES COPYING Makefile redis.conf runtest-sentinel testsBUGS ...原创 2018-04-15 08:58:38 · 18814 阅读 · 4 评论 -
阿里云主机ECS部署项目报:ERROR: cant resolve localhost address
一、我在阿里云买了个云主机ECS,在上面部署了一个Redis,并开启了远程连接,我在本地,通过IP+端口+用户名+密码,远程连接到Redis是一点问题都没有的。二、现在我将项目部署到阿里云主机上去了。 我在启动项目的时候,一直给我报一个错误:[2018-05-04 15:50:04] ERROR: cant resolve localhost addressjava.net.Unk...原创 2018-05-04 16:08:27 · 4181 阅读 · 0 评论 -
Spring框架(SpringBoot)中redis报错(Could not get a resource from the pool、java.net.SocketTimeoutException)
Spring框架(SpringBoot)中redis报错在使用SpringBoot框架的时候,Spring一直会报两个特别纠结特别的烦的错误。尝试了很多种方法,都是失败的,不能成功。 经过我坚持不懈的努力寻找,终于把问题给解决了。一、第一个报错: java.net.SocketTimeoutException: Read timed out; nested excepti...原创 2018-06-04 16:27:03 · 41858 阅读 · 0 评论 -
redis必杀高级:性能测试
题记:Redis 性能测试是通过同时执行多个命令实现的。语法:redis 性能测试的基本命令如下:redis-benchmark [option] [option value]例如: 同时执行10000个命令127.0.0.1:6379> redis -benchmark -n 10000PING_INLINE: 141043.72 requests per secondPING_BULK:原创 2017-08-18 09:57:33 · 667 阅读 · 0 评论 -
redis必杀高级:安全
题记:我们可以通过 redis 的配置文件设置密码参数,这样客户端连接到 redis 服务就需要密码验证,这样可以让你的 redis 服务更安全。例如:设置密码查看是否设置了密码验证:127.0.0.1:6379> CONFIG get requirepass1) "requirepass"2) ""默认情况下 requirepass 参数是空的,这就意味着你无需通过密码验证就可以连接到 re原创 2017-08-17 16:31:09 · 209 阅读 · 0 评论 -
redis必杀高级:数据备份与恢复
题记Redis SAVE 命令用于创建当前数据库的备份。语法:redis.dm.com:6381> SAVEOKredis.dm.com:6381> ps:该命令将在 redis 安装目录中创建dump.rdb文件。恢复数据: 如果需要恢复数据,只需将备份文件 (dump.rdb) 移动到 redis 安装目录并启动服务即可。获取 redis 目录可以使用 CONFIG 命令,如下所示red原创 2017-08-17 16:23:37 · 371 阅读 · 0 评论 -
手把手redis安装和使用(特别适合首页)
首页是系统的门户,也就是系统的入口。所以首页的访问量是这个系统最大的。如果每次展示首页都从数据库中查询首页的内容信息,那么势必会对数据库造成很大的压力,所以需要使用缓存来减轻数据库压力。 实现缓存的工具有很多,现在比较流行的是redis。 1.1. Redis的安装 Redis是c语言开发的。 安装redis需要c语言的编译环境。如果没有gcc需要在线安装。Yum install gc原创 2017-03-29 19:47:44 · 525 阅读 · 0 评论 -
手把手redis集群的搭建
一:redis-cluster架构图 架构细节: (1)所有的redis节点彼此互联(PING-PONG机制),内部使用二进制协议优化传输速度和带宽. (2)节点的fail是通过集群中超过半数的节点检测失效时才生效. (3)客户端与redis节点直连,不需要中间proxy层.客户端不需要连接集群所有节点,连接集群中任何一个可用节点即可 (4)redis-cluster把所有的物理节点映原创 2017-03-29 22:06:48 · 301 阅读 · 0 评论 -
Redis+Mysql模式和内存+硬盘模式的异同
学习任何新知识,都是一个循序渐进的过程,从刚开始的懵懂无知,到简单熟悉,然后突然的彻悟,成果让人欣喜若狂,心情也会快乐很久。redis+mysql和内存+硬盘类似的地方首先看图 首先,我们知道,mysql是持久化存储,存放在磁盘里面,检索的话,会涉及到一定的IO,为了解决这个瓶颈,于是出现了缓存,比如现在用的最多的 memcached(简称mc)。首先,用户访问mc,如果未命中,就去访问mysql转载 2017-03-30 11:41:55 · 617 阅读 · 0 评论 -
欢迎使用CSDN-markdown编辑器
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl转载 2017-03-26 12:24:06 · 237 阅读 · 0 评论 -
使用redis远程连接数据库
使用redis远程连接数据库1.首先下在redis 略2.下载好后如图 3.输入远程数据库地址 error 错误信息提示的是 没有数据库权限,需要输入密码 4.输入密码后就可以进行操作了5.因为是key,value格式的,所以其实redis使用起来很简单.原创 2017-07-21 17:22:18 · 1677 阅读 · 0 评论 -
redis的使用
使用redis首先需要配置redis@Configuration@EnableAutoConfiguration@EnableCachingpublic class RedisCacheConfig { @Value("${redis.host}") private String host; @Value("${redis.port}") private int p原创 2017-07-21 18:11:52 · 966 阅读 · 0 评论 -
redis必杀命令:列表(List)
题记:Redis列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素导列表的头部(左边)或者尾部(右边)一个列表最多可以包含 232 - 1 个元素 (4294967295, 每个列表超过40亿个元素)。例如:wd@wd:/usr/local/bin$ ./redis-cli 127.0.0.1:6379> LPUSH wd redis(integer) 1127.0.0.1:6379原创 2017-08-16 17:51:31 · 247 阅读 · 0 评论 -
redis必杀命令:集合(Set)
题记:Redis的Set是string类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。Redis 中 集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。集合中最大的成员数为 232 - 1 (4294967295, 每个集合可存储40多亿个成员)。例如:127.0.0.1:6379> SADD wd hello(integer) 1127.0.0.1:637原创 2017-08-16 18:33:06 · 722 阅读 · 0 评论 -
redis必杀命令:有序集合(sorted set)
题记Redis 有序集合和集合一样也是string类型元素的集合,且不允许重复的成员。不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。有序集合的成员是唯一的,但分数(score)却可以重复。集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。 集合中最大的成员数为 232 - 1 (4294967295, 每个集合可存储40原创 2017-08-17 10:33:17 · 1571 阅读 · 0 评论 -
redis必杀命令:HyperLogLog
题记:Redis 在 2.8.9 版本添加了 HyperLogLog 结构。Redis HyperLogLog 是用来做基数统计的算法,HyperLogLog 的优点是,在输入元素的数量或者体积非常非常大时,计算基数所需的空间总是固定 的、并且是很小的。在 Redis 里面,每个 HyperLogLog 键只需要花费 12 KB 内存,就可以计算接近 2^64 个不同元素的基 数。这和计算基数时,元原创 2017-08-17 10:42:44 · 237 阅读 · 0 评论 -
redis必杀命令:发布订阅
Redis 发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息。Redis 客户端可以订阅任意数量的频道。下图展示了频道 channel1 , 以及订阅这个频道的三个客户端 —— client2 、 client5 和 client1 之间的关系: 当有新消息通过 PUBLISH 命令发送给频道 channel1 时, 这个消息就会被发送给订阅它的三个原创 2017-08-17 11:07:42 · 443 阅读 · 0 评论 -
redis必杀命令:事务
题记:Redis 事务可以一次执行多个命令, 并且带有以下两个重要的保证:事务是一个单独的隔离操作:事务中的所有命令都会序列化、按顺序地执行。事务在执行的过程中,不会被其他客户端发送来的命令请求所打断。 事务是一个原子操作:事务中的命令要么全部被执行,要么全部都不执行。 一个事务从开始到执行会经历以下三个阶段:开始事务。 命令入队。 执行事务。例如: 以下是一个事务的例子, 它先以 MUL原创 2017-08-17 11:54:50 · 217 阅读 · 0 评论 -
redis必杀命令:脚本
题记:Redis 脚本使用 Lua 解释器来执行脚本。 Reids 2.6 版本通过内嵌支持 Lua 环境。执行脚本的常用命令为 EVAL。语法:redis 127.0.0.1:6379> EVAL script numkeys key [key ...] arg [arg ...]例如:127.0.0.1:6379> EVAL "return {KEYS[1],KEY[2],ARGV[1],ARG原创 2017-08-17 14:32:15 · 1043 阅读 · 0 评论 -
redis必杀命令:连接
题记Redis 连接命令主要是用于连接 redis 服务。例如:通过密码连接到redis服务器,并检测是否在运行。wd@wd:/usr/local/bin$ ./redis-cli -h [redis域名] -p 端口XXXXXXX> auth mimaOKXXXXXXX> PINGPONGXXXXXXX> 连接命令:序号 命令及描述1 AUTH password 验证密码是否正原创 2017-08-17 15:57:52 · 1857 阅读 · 0 评论 -
redis必杀命令:服务器
题记:Redis 服务器命令主要是用于管理 redis 服务。例如:获取redis服务器的统计信息redis 127.0.0.1:6379> INFO# Serverredis_version:2.8.13redis_git_sha1:00000000redis_git_dirty:0redis_build_id:c2238b38b1edb0e2redis_mode:standalone原创 2017-08-17 16:10:17 · 296 阅读 · 0 评论 -
解决阿里云、华为云等云数据库 Redis 版无法外网访问的问题(云主机搭桥—亲测有效)
在阿里云、华为云上,购买了一个云数据库Redis,但是我通过本地的客户端或者程序,没法通过公网访问,不造为啥会有这样约定俗成的。华为云更是有意思,你如果想要开启公网访问,你需要额外购买弹性公网IP。一、云数据库Redis版问题比如说我在华为云买了一个云数据库Redis。你如果要开启公网访问,你就得买他的弹性公网IP。但是他这个弹性公网IP卖的啊,比我的云数据库Redis和云主机还贵。...原创 2019-01-03 22:21:21 · 4537 阅读 · 0 评论