REDIS - 技术教程文章

linux搭建redis数据库【代码】

linux服务器搭建redis数据库步骤如下1.下载redis资源文件wget http://download.redis.io/releases/redis-3.0.4.tar.gz 2.解压redis资源问题tar -zxf redis-3.0.4.tar.gz3.进入解压好后的redis文件夹cd redis-3.0.4 4.make安装redis服务make 5.启动redis服务(其实到这一步已经搭建完毕了,只要执行./redis-server即可 不过不建议这样,因为这个是在redis安装目录里面去对redis进行操作的,我们一般会把需要用到的资源文件cp到另外一个...

像调试java一样来调试Redis lua【代码】【图】

高并发的系统中,redis的使用是非常频繁的,而lua脚本则更是锦上添花。因为lua脚本本身执行的时候是一个事务性的操作,不会掺杂其他外部的命令,所以很多关键的系统节点都会用redis+lua来实现一致性的操作请求。但是在实际开发过程中,由于redis lua脚本调试难的问题,导致大量的时间耗费在了这上面。如果有什么方案能够让我们像利用IDEA调试java一样简便去调试redis lua脚本,那该是很幸福的事儿了。通过不断的寻找,终于也找到了...

Redis配置文件【代码】

Redis配置文件################################## NETWORK ##################################### bind 127.0.0.1 #绑定的ip protected-mode yes #保护模式 port 6379 #端口################################# GENERAL ##################################### daemonize yes #后台运行, 默认是no pidfile /var/run/redis_6379.pid #后台运行时需要的pid文件# 日志级别 # Specify the server verbosity level. # This can be one ...

Redis06-Redis集群【代码】

Redis集群介绍1.单机、单实例的持久化方式在我们之前的课程中,我搭建了一个单机,单进程,缓存redis。我们使用rdb,aof持久化,用来确保数据的安全。rdb(relation-ship database)持久化: 默认redis会以一个rdb快照的形式,将一段时间内的数据持久化到硬盘,保存成一个dumpr.rdb二进制文件。 工作原理:当redis需要持久化时,redis会fork一个子进程,子进程将数据写到磁盘上临时一个RDB文件中。当子进程完成写临时文件后,将原来...

Redis事务【代码】

一:Redis的事务  Redis通过MULTI, EXEC, DISCARD 和 WATCH 命令来实现事务的支持,通过它们我们可以一步操作执行一组命令,而且确保了两个重要的特征如下1.所有的命令在一个事务中可确保顺序执行,切不会被其它线程打断(插入其它指令)。2.确保所有的命令要么全部执行要么一个也不执行。注意并不能保证每个任务都执行成功,而且失败的命令也不能回滚事务。二:使用方法步骤1: 开启事务 MULTI步骤2: 执行命令 command1 comm...

Redis消息模式与主从复制【图】

第1章 消息模式:1.1 redis发布消息有两种模式:1. 队列模式2. 发布订阅模式a) 任务队列:就是传递消息的队列,与任务队列进行交互的实体有两类,一类是生产者,另一类是消费者,生产者将需要处理的任务放在任务队里中,而消费者不断的从任务独立中读入任务消息并执行任务队列的好处:松耦合,生产者和消费者只需按照约定的任务描述格式,进行编写代码易于扩展,多消费者模式下,消费者可以分布在多个不通过额服务器中,由此降低...

(二)Redis 笔记——发布&订阅、事务、数据库操作【代码】【图】

1. Redis 发布订阅1.1 概述Redis 发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息。Redis 客户端可以订阅任意数量的频道。下图展示了频道 channel1 , 以及订阅这个频道的三个客户端 —— client2 、 client5 和 client1 之间的关系:当有新消息通过 PUBLISH 命令发送给频道 channel1 时, 这个消息就会被发送给订阅它的三个客户端:1.2 步骤:1.2.1. 创建了订阅频道名为 redisChat:127.0.0.1:63...

redis安装【图】

redis在Linux上的安装1)安装redis编译的c环境,yum install gcc-c++2)将redis-2.6.16.tar.gz上传到Linux系统中3)解压到/usr/local下 tar -xvf redis-2.6.16.tar.gz -C /usr/local4)进入redis-2.6.16目录 使用make命令编译redis5)在redis-2.6.16目录中 使用make PREFIX=/usr/local/redis install命令安装 redis到/usr/local/redis中6)拷贝redis-2.6.16中的redis.conf到安装目录redis中7)启动redis 在bin下执行命令redis-ser...

Redis_DataType【代码】

Redis_DataType.html:first-child{margin-top:0!important}img.plugin{box-shadow:0 1px 3px rgba(0,0,0,.1);border-radius:3px}iframe{border:0}figure{-webkit-margin-before:0;-webkit-margin-after:0;-webkit-margin-start:0;-webkit-margin-end:0}kbd{border:1px solid #aaa;-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;-moz-box-shadow:1px 2px 2px #ddd;-webkit-box-shadow:1px 2px 2px #ddd;box-...

redis使用方法【代码】

redis缓存服务器笔记 redis是一个高性能的key-value存储系统,能够作为缓存框架和队列 但是由于他是一个内存内存系统,这些数据还是要存储到数据库中的作为缓存框架: create/updae/delete---同时存到redis和数据库 query--先从redis查,没有记录才从数据库查,并把从数据库查的结果也放一份到redis作为缓存队列:2、把对象Object存储到redis中,怎么存?memcache存取对象是序列化和反序列化 使用通用的序列化、反序列化(频繁的会...

redis和memcached的区别

Redis 和 Memcache 都是基于内存的数据存储系统。Memcached是高性能分布式内存缓存服务;Redis是一个开源的key-value存储系统。与Memcached类似,Redis将大部分数据存储在内存中,支持的数据类型包括:字符串、哈希 表、链表、等数据类型的相关操作。区别总结如下1、Redis和Memcache都是将数据存放在内存中,都是内存数据库。不过memcache还可用于缓存其他东西,例如图片、视频等等;2、Redis不仅仅支持简单的k/v类型的数据,同时还...

redis 主从复制【图】

环境 rhel6.5 server1 server2[root@server1 ~]# yum install gcc[root@server1 ~]# tar zxf redis-4.0.8.tar.gz [root@server1 ~]# cd redis-4.0.8[root@server1 redis-4.0.8]# make && make install[root@server1 redis-4.0.8]# cd utils/[root@server1 utils]# ./install_server.sh [root@server1 utils]# vim /etc/redis/6379.conf [root@server1 utils]# /etc/init.d/redis_6379 restart [root@server1 utils]# netstat ...

Redis原理

1 什么是redis redis是nosql(也是个巨大的map) 单线程,但是可处理1秒10w的并发(数据都在内存中)使用java对redis进行操作类似jdbc接口标准对mysql,有各类实现他的实现类,我们常用的是druid其中对redis,我们通常用Jedis(也为我们提供了连接池JedisPool)在redis中,key就是byteredis的数据结构(value):String,list,set,orderset,hash2 redis的使用 先安装好redis,然后运行,在pom文件中引入依赖,在要使用redis缓存的类的mapper...

redis make jemalloc

zmalloc.h:50:31: error: jemalloc/jemalloc.h: No such file or directoryzmalloc.h:55:2: error: #error "Newer version of jemalloc required"make[1]: *** [adlist.o] Error 1make[1]: Leaving directory `/data0/src/redis-2.6.2/src‘make: *** [all] Error 2解决:make MALLOC=libc原文:http://www.cnblogs.com/myibm/p/7644612.html

.net core 3.0/3.1session持久化redis,session id为空【代码】【图】

.net core 3.1中将session持久化到redis,从core1.0开始,2.0/2.1,3.0/3.1每次搭建开发框架都因为session的问题搞的头大,次次踩坑,花了半天时间再次捋了一遍,发出来如果大家有跟我一样,希望能帮到你,另外如果有帮到你,记得点赞哈!!!1.需引入的库文件 1.1:Microsoft.AspNetCore.Http.Extensions,因为.net core中的session默认只能存储字节,所以引入该库是为了解决session存储字符串2.Microsoft.AspNetCore.Session,Mic...

redis基础笔记【代码】

公众号原文前言reference: https://www.tutorialspoint.com/redis/redis_quick_guide.htmscrapy过滤重复链接要使用到redis,所以就先熟悉了下redis的基础。这篇笔记记录了redis的安装、配置、操作数据类型等优势和劣势redis优势 (remote dictionary server)Redis将其数据库完全保存在内存中,仅将磁盘用于持久性每秒可以处理超过10万次读写操作Redis具有相对丰富的数据类型集所有Redis操作都是原子操作适用场景如缓存,消息队列(R...

redis学习-三种特殊数据类型-Bitmap【代码】

位存储Bitmap位图,数据结构,都是操作二进制来记录,就只有0和1两个状态! 使用Bitmap来记录一周的打卡,0位打卡 127.0.0.1:6379> setbit sign 0 1 (integer) 0 127.0.0.1:6379> setbit sign 2 0 (integer) 0 127.0.0.1:6379> setbit sign 1 0 (integer) 0 127.0.0.1:6379> setbit sign 3 0 (integer) 0 127.0.0.1:6379> setbit sign 4 0 (integer) 0 127.0.0.1:6379> setbit sign 5 1 (integer) 0 127.0.0.1:6379> setbit sign 6...

安装redis

$ tar xzf redis-3.0.5.tar.gz$ cd redis-3.0.5$ make编译后,进入src目录:启动服务端:$ ./redis-server redis.conf启动客户端:$ ./redis-cli 使用有make前先装gcc(一个装起来比较凡人的东西)原文:http://www.cnblogs.com/single/p/4944736.html

redis 高并发导致无法连接处理【代码】

今天ELK收集日志的时候,发现收集失败,查找各方面原因,最后在redis日志里面发现报错:[2489] 02 Jun 10:43:42 # Error allocating resoures for the client错误是无法为客户端分配资源,查看redis连接数:# redis-cli info | grep connected connected_clients:5036 connected_slaves:0客户端的连接竟然有达到5000多查看客户端连接情况:redis 127.0.0.1:6379> client list addr=10.247.64.115:52834 fd=5 idle=2144 fla...

Redis(1) 安装redis【代码】

系统环境: CentOS Linux release 7.5.1804 (Core) redis版本: redis-3.2.5一、下载安装包wget http://download.redis.io/releases/redis-3.2.5.tar.gz 也可手动复制链接到浏览器下载安装包后上传到服务器二、下载依赖包yum install -y gcc-c++三、解压安装包tar xf redis-3.2.5.tar.gz四、编译cd redis-3.2.5/ && make五、安装cd ./src && make install六、创建redis配置目录mkdir /opt/redis/{data,log,etc} -p七、创建redis配置文...

Redis常用数据类型介绍、使用场景及其操作命令【代码】

Redis常用数据类型介绍、使用场景及其操作命令本文章同时也在cpper.info发布。Redis目前支持5种数据类型,分别是: 1.String(字符串) 2.List(列表) 3.Hash(字典) 4.Set(集合) 5.Sorted Set(有序集合)下面就分别介绍这五种数据类型及其相应的操作命令。1. String(字符串)String是简单的 key-value 键值对,value 不仅可以是 String,也可以是数字。String在redis内部存储默认就是一个字符串,被redisObject所引用,当遇...

redis key和value【代码】

exists key del key1 key2Redis 的vauleredis 提供五种数据类型:string,hash,list,set 及sorted set。string 是最基本的类型,而且string 类型是二进制安全的。意思是redis 的string 可以包含任何数据。比如jpg 图片或者序列化的对象。从内部实现来看其实string 可以看作byte数组,最大上限是1G 字节。set key value 设置 key对应 string 类型的值,返回 1 表示成功,0失败。setnx key value 如果 key 不存在,设置 key 对应 stri...

Redis学习总结和相关资料

因为别人都在用Redis,所以我不得不用Redis。 听起来感觉我很菜的样子,事实上和菜没有关系。 一是由于别人都用,作为后来者,没有“先发”优势,只能顺着别人的思路来做。当前的整体技术环境和人文环境,对一个人有很大的影响力。 二是别人都用,自然有选择Redis的道理,比如高性能、稳定之类的各种溢美之辞。 在Java中,熟悉使用Redis主要分为3步: 一.了解Redis redis redis是在memcache之后编写的,大家经常把这两...

Centos 7.2 安装配置 Nginx、PHP7、Mysql、JDK、Tomcat、Redis、【代码】

Centos 7.2 安装配置 Nginx、PHP7、Mysql、JDK、Tomcat、Redis、RAP 以下操作均在阿里云 ECS(Centos 7.2)环境下执行,其他系统环境可能会有些许差别,仅供参考软件更新由于系统驱动的兼容性等问题,当前云服务器 ECS Linux 不支持内核升级操作(更多相关说明,可以参阅 ECS 使用须知)。一般拿到一台新的服务器,我喜欢先进行软件升级。阿里云ECS不建议升级服务器的内核和操作系统版本,所以,在进行系统软件更新操作时,应该将其...

redis总结

第一章 课程介绍1-1 00-课程介绍 第二章 NoSql概述2-1 01-NoSQL的概述 为什么需要NoSQL? High performance - 高并发读写Huge Storage - 海量数据的高效率存储和访问High Scalability && High Availability - 高可扩展和高可用性主流产品:redis;MongDBNoSQL数据库的四大分类:键值(Key-Value)存储列存储文档数据库图像数据库分类相关产品典型应用数据模型 优点缺点键值(Key-Value)Tokyo Cabinet/Tyrant、Redis、VoIdemort、B...

Redis主从复制【图】

Redis的主从复制功能非常强大,一个master可以拥有多个slave,而一个slave又可以拥有多个slave,如此下去,形成了强大的多级服务器集群架构.实现步骤如下:1.在Windows某个磁盘上创建两个目录,例如; MasterRedis(存储的是Master服务) SlaveRedis(存储的是Slave服务).2.在Master服务中的配置文件redis.conf修改 :bind 127.0.0.1.3.在Slave服务中的配置文件redis.conf修改: port 6381(服务端口号要分开) bind 127.0.0.1...

centos6.x redis-cluster集群离线安装【代码】

一、环境准备: 系统OS: CentOS6.8 集群环境:三台主机9个节点 软件版本:redis-4.0.11.tar.gzredis cluster节点信息: redis01 172.16.8.13:7000 172.16.8.13:7001 172.16.8.13:7002 redis02 172.16.8.14:7003 172.16.8.14:7004 172.16.8.14:7005 redis03 172.16.8.15:7006 172.16.8.15:7007 172.16.8.15:7008二、redis安装及配置安装所需的包#yum install -y gcc g++ make gcc-c++ kernel-devel automake autoconf libtool make ...

关于Windows版本的redis启动报错:Creating Server TCP listening socket 127.0.0.1:6379: bind: No error

网上提供的解决方法是的解决方案如下按顺序输入如下命令就可以连接成功1. redis-cli.exe2. shutdown3. exit4. redis-server.exe redis.windows.conf因为报错的次数挺多的,我尝试了这个方法还没有成功过。以下是我的解决方法:1. 查找6379端口的占用情况netstat -ano|findstr 63792. 杀死找到的PID进程taskkill /pid 193548 /f(中间有一次说拒绝访问,把cmd控制台的权限修改为管理员就可以杀死成功)然后重新运行redis-server.exe...

redis数据结构之无序集合(set)、有序集合(zset)、基数(HyperLogLog)【图】

一、redis数据结构之无序集合(set)redis的集合不是一个线性结构,而是一个哈希表结构,它的内部会根据哈希分子来存储和查找数据,理论上一个集合可以存储2的32次方-1(大约42亿)个元素,因为采用哈希表结构,所以对于redis集合的插入、删除和查找的复杂度都是O(1)。在redis中集合可以对于不同的集合进行操作,如求两个或两个以上集合的差集和交集、并集等操作。 此外需要注意如下三点: 1、集合是无序的; 2、集合中元素是不重复...

Redis(5)—List、Set【代码】

Redis(5)—List、SetList(列表)在redis里面,我们可以把list玩成 ,栈、队列、阻塞队列! 值可以重复。所有的List命令基本都是用L开头的。LPush key value :将value值插入到列表的左部。RPush key value :将value值插入到列表的右部。LRange key start end :获取key列表中的值。LPop key :移除key列表中的最左侧元素。RPop key :移除key列表中的最右侧元素。LIndex key index :获取key列表中index下标的值。LLen key :获取...