Redis
黑猴子的家
拥有技术,便拥有自由
B站 Up主专注于技术 https://space.bilibili.com/398602910
展开
-
黑猴子的家:Redis -> Hash 类型
1、Hash概念(1)Redis hash 是一个键值对集合。(2)Redis hash是一个string类型的field和value的映射表,hash特别适合用于存储对象。(3)类似Java里面的Map<String,Object>2、Hash 基本命令(1)给<key>集合中的 <field>键赋值<value>hse...原创 2018-10-15 11:48:00 · 111 阅读 · 0 评论 -
黑猴子的家:Redis 之 Jedis API
Code -> GitHubhttps://github.com/liufengji/redis_cli.git1、key@Testpublic static void Jedis_key_API() { Jedis jedis = new Jedis("192.168.67.143", 6379); Set<String> keys = je...原创 2018-10-15 14:16:00 · 91 阅读 · 0 评论 -
黑猴子的家:Redis 之 Jedis测试连通性
Code -> GitHubhttps://github.com/liufengji/redis_cli.git@Testpublic void connection() { //连接本地的 Redis 服务 Jedis jedis = new Jedis("127.0.0.1",6379); //查看服务是否运行,打出pong表示OK Sys...原创 2018-10-15 14:10:00 · 404 阅读 · 0 评论 -
黑猴子的家:Redis 客户端 Jedis
Code -> GitHubhttps://github.com/liufengji/redis_cli.git1、Jedis所需要的jar包Commons-pool-1.6.jarJedis-2.1.0.jar2、源码package com.victor.rediscli;import java.util.Set;import redis.clien...原创 2018-10-15 13:30:00 · 119 阅读 · 0 评论 -
黑猴子的家:Redis 相关配置
Redis 相关配置,主要是对redis.conf 的讲解[root@hadoop102 ~]# cd /myredis/[root@hadoop102 myredis]# vim redis.conf 1、计量单位说明大小写不敏感2、include把外面的配置文件,引入到里面来,有什么好处?? 解耦类似jsp中的include,多实例的情况可以把公用的配置文...原创 2018-10-15 13:03:00 · 135 阅读 · 0 评论 -
黑猴子的家:Redis -> ZSet 类型
1、ZSet 概念 (sorted set)(1)Redis有序集合zset与普通集合set非常相似,是一个没有重复元素的字符串集合。不同之处是有序集合的没有成员都关联了一个评分(score) ,这个评分(score)被用来按照从最低分到最高分的方式排序集合中的成员。集合的成员是唯一的,但是评分可以是重复了 。(2)因为元素是有序的, 所以你也可以很快的根据评分(score)或者次序(po...原创 2018-10-15 11:59:00 · 99 阅读 · 0 评论 -
黑猴子的家:Redis -> Set 类型
1、Redis 之 Set 概念(1)Redis set对外提供的功能与list类似是一个列表的功能,特殊之处在于set是可以自动排重的,当你需要存储一个列表数据,又不希望出现重复数据时,set是一个很好的选择,并且set提供了判断某个成员是否在一个set集合内的重要接口,这个也是list所不能提供的。(2)Redis的Set是string类型的无序集合。它底层其实是一个value为nul...原创 2018-10-15 11:36:00 · 109 阅读 · 0 评论 -
黑猴子的家:Redis -> List 类型
1、List概念(1)单键多值(2)Redis 列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素导列表的头部(左边)或者尾部(右边)。(3)它的底层实际是个双向链表,对两端的操作性能很高,通过索引下标的操作中间的节点性能会较差。2、List基本命令(1)从左边/右边插入一个或多个值lpush/rpush <key> <value1> ...原创 2018-10-15 11:19:00 · 83 阅读 · 0 评论 -
黑猴子的家:Redis -> String 类型
1、概念(1)String是Redis最基本的类型,你可以理解成与Memcached一模一样的类型,一个key对应一个value。(2)String类型是二进制安全的。意味着Redis的string可以包含任何数据。比如jpg图片或者序列化的对象 。(3)String类型是Redis最基本的数据类型,一个Redis中字符串value最多可以是512M2、String基本命令操作...原创 2018-10-15 11:13:00 · 139 阅读 · 0 评论 -
黑猴子的家:Redis 基本操作命令
1、查询当前库的所有键127.0.0.1:6379[2]> keys *2、判断某个键是否存在127.0.0.1:6379[2]> exists k1(integer) 1注1表示true ,0表示false3、查看键的类型127.0.0.1:6379[2]> type k1string4、删除某个键127.0.0.1:6379[2...原创 2018-10-15 11:00:00 · 72 阅读 · 0 评论 -
黑猴子的家:Redis 数据类型
1、Redis 数据类型2、Redis 各个数据类型应用场景类型 简介 特性 场景 String(字符串) 二进制安全 可以包含任何数据,比如jpg图片或者序列化的对象,一个键最大能存储512M --- Hash(字典) 键值对集合,即编程语言中的Map类型 适合存储对象,并且可以像数据库中update一个属性一样只修改某一项属性...原创 2018-10-15 10:55:00 · 114 阅读 · 0 评论 -
黑猴子的家:Redis 之 手机验证码
Redis 内存数据库完成手机验证码功能Code -> GitHubhttps://github.com/liufengji/verifi_code.git原创 2018-10-15 15:02:00 · 109 阅读 · 0 评论 -
黑猴子的家:Redis 事务
1、Redis的事务定义(1)Redis事务是一个单独的隔离操作:事务中的所有命令都会序列化、按顺序地执行。事务在执行的过程中,不会被其他客户端发送来的命令请求所打断。(2)Redis事务的主要作用就是串联多个命令防止别的命令插队2、Multi、Exec、discard(1)正常情况从输入Multi命令开始,输入的命令都会依次进入命令队列中,但不会执行,至到输入Exec后,...原创 2018-10-15 15:38:00 · 149 阅读 · 0 评论 -
黑猴子的家:查看 Redis 进程
[root@hadoop102 redis-3.2.5]# ps -ef | grep redisroot 3602 1 0 11:39 ? 00:00:00 redis-server 127.0.0.1:6379root 3612 2547 0 11:44 pts/0 00:00:00 grep redis...原创 2018-10-15 10:14:00 · 621 阅读 · 0 评论 -
黑猴子的家:Redis 客户端访问
1、一个端口[root@hadoop102 redis-3.2.5]# redis-cli2、多个端口客户端访问有多个端口的情况下[root@hadoop102 redis-3.2.5]# redis-cli -p 63793、测试验证: ping[root@hadoop102 redis-3.2.5]# redis-cli127.0.0.1:6379>...原创 2018-10-15 10:09:00 · 532 阅读 · 0 评论 -
黑猴子的家:启动 Redis
1、备份redis.conf:拷贝一份redis.conf到其他目录[root@hadoop102 redis-3.2.5]# cd /opt/module/redis-3.2.5/[root@hadoop102 redis-3.2.5]# pwd/opt/module/redis-3.2.5[root@hadoop102 redis-3.2.5]# mkdir myredis/[r...原创 2018-10-15 10:02:00 · 95 阅读 · 0 评论 -
黑猴子的家:Redis 安装
1、网站Redis官方网站http://Redis.ioRedis中文官方网站http://www.Redis.net.cn/2、环境以及版本号关于安装版本3.2.5 for Linux (redis-3.2.5.tar.gz)不用考虑在windows环境下对Redis的支持3、下载获得redis-3.2.5.tar.gz将它放入我们的Linux目录/opt...原创 2018-10-15 09:25:00 · 185 阅读 · 0 评论 -
黑猴子的家:Redis 编译之安装 gcc
1、安装方式一:能上网Yum安装[root@hadoop102 module]# yum install gcc-c++2、安装方式一:不能上网(1)挂载CentOS,建立挂载点[root@hadoop102 media]# mkdir CentOS_6.8(2)设备/dev/cdrom挂载到 挂载点 : /mnt/CentOS_6.8中[root@hadoo...原创 2018-10-15 09:25:00 · 332 阅读 · 0 评论 -
黑猴子的家:Redis 概述
1、NoSQLNoSQL概述(1)NoSQL(NoSQL = Not Only SQL ),意即“不仅仅是SQL”,泛指非关系型的数据库。(2)NoSQL 不依赖业务逻辑方式存储,而以简单的key-value模式存储。因此大大的增加了数据库的存取性能。(3)不遵循SQL标准。(4)不支持ACID。NoSQL适用场景(1)对数据高并发的读写(2)海量数据的读写(3)对数据高可扩...原创 2018-10-15 09:08:00 · 122 阅读 · 0 评论 -
黑猴子的家:Redis 持久化 之 AOF
AOF 是增量备份,占用空间比RDB要大,恢复数据要比RDB慢很多,把全部命令记录执行一遍以日志的形式来记录每个写操作,将Redis执行过的所有写指令记录下来(读操作不记录),只许追加文件但不可以改写文件,Redis启动之初会读取该文件重新构建数据,换言之,Redis重启的话就根据日志文件的内容将写指令从前到后执行一次以完成数据的恢复工作。1、AOF默认不开启,需要手动在配置文件中配置...原创 2018-10-15 17:20:00 · 119 阅读 · 0 评论 -
黑猴子的家:Redis 持久化 之 RDB
在指定的时间间隔内,将内存中的数据集快照,写入磁盘,也就是行话讲的Snapshot快照,它恢复时,是将快照文件直接读到内存里。1、备份是如何执行的Redis会单独创建(fork)一个子进程来进行持久化,会先将数据写入到一个临时文件中,待持久化过程都结束了,再用这个临时文件替换 上次持久化好的文件。整个过程中,主进程是不进行任何IO操作的,这就确保了极高的性能如果需要进行大规模数据的恢复,且...原创 2018-10-15 17:07:00 · 310 阅读 · 0 评论 -
黑猴子的家:LUA脚本(Redis 秒杀案例)
Code -> GigHubhttps://github.com/liufengji/redis_seckill.git1、概念http://www.lua.org/download.htmlLua是一个小巧的脚本语言,用标准C语言编写并以源代码形式开放,因此Lua脚本可以很容易的被C/C++ 代码调用,也可以反过来调用C/C++的函数,其设计目的是为了嵌入应用程...原创 2018-10-15 16:05:00 · 851 阅读 · 0 评论 -
黑猴子的家:Redis 事务 之 秒杀案例
Code -> GigHubhttps://github.com/liufengji/redis_seckill.git1、解决计数器和人员记录的事务操作2、超卖问题3、ab压力测试apache ab, loadrunner , jmeter 这三个都是压力测试工具ab压力测试,没有图形化界面,用起来方便小巧,只能测试页面 http 之类的[root@ha...原创 2018-10-15 15:56:00 · 690 阅读 · 0 评论 -
黑猴子的家:Redis 和 Memcache 区别
1、Memcached简介Memcached是以LiveJurnal旗下Danga Interactive公司的Bard Fitzpatric为首开发的高性能分布式内存缓存服务器。其本质上就是一个内存key-value数据库,但是不支持数据的持久化,服务器关闭之后数据全部丢失。Memcached使用C语言开发,在大多数像Linux、BSD和Solaris等POSIX系统上,只要安装了libev...原创 2018-10-15 10:43:00 · 120 阅读 · 0 评论 -
黑猴子的家:Redis 相关知识
1、Redis端口6379从何而来Alessia Merz2、Redis数据库默认数据库默认16个数据库,类似数组下标从0开始,初始默认使用0号库使用命令 select <dbid> 来切换数据库。如: select 8统一密码管理,所有库都是同样密码,要么都OK,要么一个也连接不上切换数据库127.0.0.1:6379> select 2...原创 2018-10-15 10:22:00 · 103 阅读 · 0 评论 -
黑猴子的家:关闭 Redis 服务
1、命令关闭,后台Redis服务进程[root@hadoop102 redis-3.2.5]# redis-cli shutdown2、进入客户端后再关闭后台 Redis 服务进程[root@hadoop102 redis-3.2.5]# redis-cli127.0.0.1:6379> shutdown3、多实例关闭,指定端口关闭[root@hadoop...原创 2018-10-15 10:16:00 · 155 阅读 · 0 评论 -
黑猴子的家:Redis 哨兵模式
反客为主的自动版,能够后台监控主机是否故障,如果故障了,根据投票数,自动将从库转换为主库1、配置哨兵(1)调整为一主二仆模式启动服务[root@hadoop102 redis-3.2.5]# redis-server redis6379.conf[root@hadoop102 redis-3.2.5]# redis-server redis6380.conf[root@ha...原创 2018-10-16 09:41:00 · 166 阅读 · 0 评论 -
黑猴子的家:Redis 反客为主
1、当一个master宕机后,后面的slave可以立刻升为master,其后面的slave不用做任何修改。2、用 slaveof no one 将从机变为主机。127.0.0.1:6380> slaveof no oneok//从机变为主机,拥有写权限127.0.0.1:6380> set k2000 v2000ok...原创 2018-10-16 09:31:00 · 250 阅读 · 0 评论 -
黑猴子的家:Redis 薪火相传
1、上一个slave可以是下一个slave的Master,slave同样可以接收其他slaves的连接和同步请求,那么该slave作为了链条中下一个的master, 可以有效减轻master的写压力,去中心化降低风险。2、用 slaveof <ip> <port>3、中途变更转向:会清除之前的数据,重新建立拷贝最新的4、风险是一旦某个slave宕机,后面的slave都...原创 2018-10-16 09:28:00 · 486 阅读 · 0 评论 -
黑猴子的家:Redis 主从机复制原理
每次从机连通后,都会给主机发送sync指令主机立刻进行存盘操作,发送RDB文件,给从机从机收到RDB文件后,进行全盘加载之后每次主机的写操作,都会立刻发送给从机,从机执行相同的命令...原创 2018-10-16 09:25:00 · 103 阅读 · 0 评论 -
黑猴子的家:Redis 一主二仆模式
(1)切入点问题?slave1、slave2是从头开始复制还是从切入点开始复制?比如从k4进来,那之前的123是否也可以复制?从头复制(2)从机是否可以写?set可否?不可写,可以配置成写的,但是没有这么做的(3)主机shutdown后情况如何?从机是上位还是原地待命?一主二仆模式中死等(4)主机又回来了后,主机新增记录,从机还能否顺利复制?一主二仆模式中可以(5)...原创 2018-10-16 09:23:00 · 228 阅读 · 0 评论 -
黑猴子的家:Redis 主从复制
1、Redis主从复制主从复制,就是主机数据更新后根据配置和策略,自动同步到备机的master/slaver机制,Master以写为主,Slave以读为主2、用处(1)读写分离,性能扩展(2)容灾快速恢复3、步骤(1)配从(服务器)不配主(服务器)(2)拷贝多个redis.conf文件(3)开启daemonize yes(4)Pid文件名字(5)指定端口(6)L...原创 2018-10-16 09:16:00 · 93 阅读 · 0 评论 -
黑猴子的家:Redis 的持久化
1、Redis 提供了2个不同形式的持久化方式RDB (Redis DataBase)AOF (Append Of File)2、RDBhttps://www.jianshu.com/p/556910dc02e13、AOFhttps://www.jianshu.com/p/f15972dbbe104、AOF 和 RDB 同时开启,Redis听谁的?https:...原创 2018-10-15 17:30:00 · 88 阅读 · 0 评论 -
黑猴子的家:Redis 持久化 之 AOF 和 RDB 同时开启,Redis听谁的?
听AOF的,RDB与AOF同时开启 默认无脑加载AOF的配置文件相同数据集,AOF文件要远大于RDB文件,恢复速度慢于RDBAOF运行效率慢于RDB,但是同步策略效率好,不同步效率和RDB相同1、Rewrite 重写AOF采用文件追加方式,文件会越来越大为避免出现此种情况,新增了重写机制,当AOF文件的大小超过所设定的阈值时,Redis就会启动AOF文件的内容压缩,只保留可以恢复数据的...原创 2018-10-15 17:25:00 · 4928 阅读 · 1 评论 -
黑猴子的家:Redis 之 jedis、jedisPool、jedisCluster
1、jedis 连接redis(单机)public class JedisTest { @Test public void testJedis()throws Exception{ Jedis jedis = new Jedis("192.168.241.133",6379); jedis.set("test", "my forst jedi...原创 2018-11-05 17:14:00 · 508 阅读 · 0 评论 -
黑猴子的家:Redis 之 You need tcl 8.5 or newer in order to run the Redis test
1、详细信息[root@localhost redis-3.0.0]# make testcd src && make testmake[1]: Entering directory `/service/mt/redis-3.0.0/src'You need tcl 8.5 or newer in order to run the Redis testmake[1]:...原创 2018-11-24 17:58:00 · 230 阅读 · 0 评论 -
黑猴子的家:Redis 集群 入门手册
1、让我们带着问题,来学习一下redis集群(1)容量不够,redis如何进行扩容?(2)并发写操作, redis如何分摊?2、什么是 redis 集群(1)Redis 集群实现了对Redis的水平扩容,即启动N个redis节点,将整个数据库分布存储在这N个节点中,每个节点存储总数据的1/N。(2)Redis 集群通过分区(partition)来提供一定程度的可用性(availa...原创 2018-10-16 10:16:00 · 125 阅读 · 0 评论 -
黑猴子的家:Redis 集群 的 Jedis 开发 Main 方法
public class JedisClusterTest { public static void main(String[] args) { Set<HostAndPort> set =new HashSet<HostAndPort>(); set.add(new HostAndPort("192.168.31.211",63...原创 2018-10-16 10:18:00 · 155 阅读 · 0 评论 -
黑猴子的家:Redis 技术扩展边外知识
1、技术分类(1)解决功能性的问题Java、Jsp、 RDBMSTomcat、HTML、Linux、Jdbc、SVN(2)解决扩展性的问题Struts、Spring、SpringMVC、Hibernate、Mybatis(3)解决性能的问题NoSQL、Java线程、Hadoop、Nginx、MQ、 ElasticSearch2、Web1.0的时代...原创 2018-10-17 22:43:00 · 112 阅读 · 0 评论 -
黑猴子的家:Redis 集群的 Jedis 开发
Code -> GitHubhttps://github.com/liufengji/redis_cli.git//Redis集群的Jedis开发@Testpublic static void JedisSet() { try { Set<HostAndPort> nodes = new HashSet<HostAndPort>...原创 2018-10-17 17:12:00 · 129 阅读 · 0 评论