redis 学习(7) -- 有序集合 zset 结构 有序集合:有序.不能包含重复元素 每个节点包含:score和value两个属性,根据score进行排序 如图: zset 重要 API 含义 命令 zadd key score1 member1 [score2 member2...] 向有序集合添加一个或多个成员,或者更新已存在成员的分数 zrem key member1 [member2...] 从有序集合中删除一个或多个成员 zscore key member 获取有序集合中成员的分数…
作者:Grey 原文地址:Redis学习笔记六:持久化实验(AOF,RDB) Redis几种持久化方案介绍和对比 AOF方式:https://blog.csdn.net/ctwctw/article/details/105173842 RDB方式:https://blog.csdn.net/ctwctw/article/details/105265689 对比:https://blog.csdn.net/ctwctw/article/details/105147277 准备工作 安装Redis,…
Redis 2.6 开始支持 Lua 脚本,通过在服务器环境嵌入 Lua 环境,Redis 客户端中可以原子地执行多个 Redis 命令. 使用 eval 命令可以直接对输入的脚本求值: 127.0.0.1:6379> eval 'return "liushijie"' 0 "liushijie" 使用 evalsha 命令则可以根据脚本的 sha1 校验和对脚本进行求值,但是这个命令至少被 eval 命令执行过一次或被 script load 命令载入过.…
集合 Set,去重,关系测试:交.并.差等:无序 list_1=set(list_1), type(list_1) list_2=set([xxxxx]) 交集:list_1.intersectin(list_2), list_1 & list_2 并集:list_1.union(list_2), list_1 | list_2 差集:list_1.diffrence(list_2), list_1 – list_2 子集:list_1.issubset(list_2) 父集:list_1.is…
# -*- coding: utf-8 -*- import redis r = redis.Redis(host=") 1. Sadd 命令将一个或多个成员元素加入到集合中,已经存在于集合的成员元素将被忽略.假如集合 key 不存在,则创建一个只包含添加的元素作成员的集合.当集合 key 不是集合类型时,返回一个错误. ",1) #输出的结果是1 ",2) #输出的结果是1 ",2) #因为2已经存在,不能再次田间,所以输出的结果是0 ",3,4) #输…
Redis 支持五种数据类型:string(字符串).list(列表).hash(哈希).set(集合)和 zset(有序集合),接下来我们讲解分别讲解一下这五种类型的的使用. String(字符串) string 类型是 redis 最基本的类型,很多人说如果去除本地持久化,只使用 string 的话,那 redis 就是一个 memcached.string 类型,一个 key 对应一个 value,一个 value 最大能存储512MB的数据.string 类型是二进制安全的,这也意味着…
回到占占推荐博客索引 百度百科 redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(sorted set --有序集合)和hashs(哈希类型).这些数据类型都 支持push/pop.add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的.在此基础上,redis支持各种不同方式的排 序.与memcached一样,为了保证效率,数据都是缓存在内存中.…
在Redis中直接启动redis-server服务时, 采用的是默认的配置文件.采用redis-server   xxx.conf 这样的方式可以按照指定的配置文件来运行Redis服务.按照本Redis学习笔记中Redis的按照方式按照后,Redis的配置文件是/etc/redis/6379.conf.下面是Redis2.8.9的配置文件各项的中文解释. #daemonize no 默认情况下, redis 不是在后台运行的,如果需要在后台运行,把该项的值更改为 yes daemonize ye…
1. String(SDS) Redis使用自定义的一种字符串结构SDS来作为字符串的表示. 127.0.0.1:6379> set name liushijie OK 在如上操作中,name(key)和liushijie(key)就存储在SDS中. SDS数据结构如下: struct sdshdr { // 所保存字符串的长度 int len; // 未使用字节长度 int free; // 字节数组,保存字符串 char buf[]; }; SDS遵循C字符串以'\0'空字符串结尾的惯例,所…
Redis学习笔记之ABC Redis命令速查 官方帮助文档 中文版本1 中文版本2(反应速度比较慢) 基本操作 字符串操作 set key value get key 哈希 HMSET user:1 username liushijie password arrray7 HGETALL user:1l 列表(Redis只有字符串列表) lpush mylist liushijie lrange mylist 0 10 集合无序.value不会重复 sadd mylist liushijie s…
继续Redis学习笔记(二)来说说剩余的三种数据类型. 三.列表类型(List) 1.介绍 列表类型可以存储一个有序的字符串列表,常用的操作是向列表两端添加元素,或者获得列表的一段片段.列表类型内部是使用双向链表实现的,所以操作列表两端的字符串速度会很快. 2.命令 1)向列表两端添加元素 LPUSH key value [value...] RPUSH key value [value...] LPUSH  key value [value...] 是向列表左边添加元素,添加多个元素的话依次向…
引言 在Redis学习笔记(一)中我们已经会安装并且简单使用Redis了,接下来我们一起来学习下Redis支持的5大数据类型. 简介 Redis是REmote DIctionary Server(远程字段服务器)的缩写,它以字典结构存储数据,并允许其他应用通过TCP协议读写字典中的内容.同大多数脚本语言中的字典一样,Redis字典中的键值除了可以是字符串,还可以是其他的数据类型.到目前为止Redis支持的键值数据类型如下: (1)字符串类型(String) (2)散列类型(Hash) (3)列表…
Redis是一种nosql数据库,常被称作数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Map), 列表(list), 集合(sets) 和 有序集合(sorted sets)等类型.下面就是不同类型所对应的常见redis命令: 一.在哪里敲命令? 1.我们可以在redis-cli.exe中敲这些命令. 2.上篇博客Redis学习笔记(2)——Redis的下载安装部署,我们介绍了一个工具Redis-Desktop-Manager,我们可以在该工具的控制台敲命令. 二…
一.Redis是什么? Remote Dictionary Server(Redis) 是一个开源的使用ANSI C语言编写.遵守BSD协议.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库(NO-SQL数据库),并提供多种语言的API. 它通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Map), 列表(list), 集合(sets) 和 有序集合(sorted sets)等类型. 二.Redis特点 1.Redis支持数据的持久化,Red…
在Redis中直接启动redis-server服务时, 採用的是默认的配置文件.採用redis-server   xxx.conf 这种方式能够依照指定的配置文件来执行Redis服务. 依照本Redis学习笔记中Redis的依照方式依照后,Redis的配置文件是/etc/redis/6379.conf.以下是Redis2.8.9的配置文件各项的中文解释. #daemonize no 默认情况下, redis 不是在后台运行的.假设须要在后台运行,把该项的值更改为 yes daemonize ye…
Spring Boot 学习笔记 源码地址 Spring Boot 学习笔记(一) hello world Spring Boot 学习笔记(二) 整合 log4j2 Spring Boot 学习笔记(三) 整合 MyBatis + Druid Spring Boot 学习笔记(四) 整合 Druid 监控 Spring Boot 学习笔记(五) 整合 静态资源 Spring Boot 学习笔记(六) 整合 RESTful 参数传递 Spring Boot 学习笔记(七) 整合 Swagger2…
上次写redis的学习笔记还是2014年,一转眼已经快2年过去了,在段时间里,redis最大的变化之一就是cluster功能的正式发布,以前要搞redis集群,得借助一致性hash来自己搞sharding,现在方便多了,直接上cluster功能就行了,而且还支持节点动态添加.HA.节点增减后缓存重新分布(resharding). 下面是参考官方教程cluster-tutorial 在mac机上搭建cluster的过程: 一.下载最新版redis 编译 目前最新版是3.0.7,下载地址:http:…
redis 学习笔记(1)-编译.启动.停止   一.下载.编译 redis是以源码方式发行的,先下载源码,然后在linux下编译 1.1 http://www.redis.io/download 先到这里下载Stable稳定版,目前最新版本是2.8.17 1.2 上传到linux,然后运行以下命令解压 tar xzf redis-2.8.17.tar.gz 1.3 编译 cd redis-2.8.17make 注:make命令需要linux上安装gcc,若机器上未安装gcc,redhat环境下…
java之jvm学习笔记六(实践写自己的安全管理器) 安全管理器SecurityManager里设计的内容实在是非常的庞大,它的核心方法就是checkPerssiom这个方法里又调用 AccessController的checkPerssiom方法,访问控制器AccessController的栈检查机制又遍历整个 PerssiomCollection来判断具体拥有什么权限一旦发现栈中一个权限不允许的时候抛出异常否则简单的返回,这个过程实际上比我的描述要复杂 得多,这里我只是简单的一句带过,因为这…
转自 Redis学习笔记(二)-key相关命令 - 点解 - 博客园http://www.cnblogs.com/leny/p/5638764.html Redis支持的各种数据类型包括string,list ,set ,sorted set 和hash . Redis本质上一个key-value db,所以我们首先来看看他的key.首先key也是字符串类型,但是key中不能包括边界字符.由于key不是binary safe的字符串,所以像"my key"和"mykey\n&…
一.下载Redis Redis的官网下载页上有各种各样的版本,如图 但是官网下载的Redis项目不正式支持Windows.如果需要再windows系统上部署,要去GitHub上下载.我下载的是Redis-x64-3.2.100.zip. 如下图 二.启动Redis的方式 Redis服务启动有两种方式,第一种方式是利用redis.windows.conf配置文件,通过DOC窗口打开:第二种方式利用配置文件redis.windows-service.conf将redis设置成服务.第一种方式虽然启动…
学习笔记 07 --- JUC集合 在讲JUC集合之前我们先总结一下Java的集合框架,主要包含Collection集合和Map类.Collection集合又能够划分为LIst和Set. 1. List的实现类主要有: LinkedList, ArrayList, Vector, Stack. (01) LinkedList是双向链表实现的双端队列:它不是线程安全的.仅仅适用于单线程. (02) ArrayList是数组实现的队列,它是一个动态数组.它也不是线程安全的,仅仅适用于单线程. (03…
redis学习笔记第三部分 --redis持久化介绍,事务,主从复制 三,redis的持久化 RDB(Redis DataBase)AOF(Append Only File) RDB:在指定的时间间隔内将内存中的数据集快照写入磁盘,也就是行话讲的Snapshot快照,它恢复时是将快照文件直接读到内存里. Redis会单独创建(fork)一个子进程来进行持久化,会先将数据写入到一个临时文件中,待持久化过程都结束了,再用这个临时文件替换上次持久化好的文件.整个过程中,主进程是不进行任何IO操作的,这…
一.下载最新版redis 编译 目前最新版是3.0.7,下载地址:http://www.redis.io/download 编译很简单,一个make命令即可,不清楚的同学,可参考我之前的笔记: redis 学习笔记(1)-编译.启动.停止 二.建6个目录 ? 1 2 mkdir ~/app/redis-cluster/  #先建一个根目录 mkdir 7000 7001 7002 7003 7004 7005 注:与大多数分布式中间件一样,redis的cluster也是依赖选举算法来保证集群的高…
目录 go微服务框架kratos学习笔记六(kratos 服务发现 discovery) http api register 服务注册 fetch 获取实例 fetchs 批量获取实例 polls 批量获取实例 nodes 批量获取节点 renew 心跳 cancel 下线 应用发现逻辑 服务注册 服务注册demo 服务注册逻辑 服务发现 测试调用 简单看看官方grpc服务发现逻辑 context deadline exceeded 简单看看官方grpc服务发现逻辑 go微服务框架kratos学…
openresty 学习笔记六:使用session库 lua-resty-session 是一个面向 OpenResty 的安全和灵活的 session 库,它实现了 Secure Cookie Protocol.项目地址:https://github.com/bungle/lua-resty-session 使用方法有很多种,我这里只使用简单的用redis存储session 先要修改redis配置文件vim /usr/local/redis/etc/redis.conf,开启unix sock…
作者:Grey 原文地址:Java IO学习笔记六:NIO到多路复用 虽然NIO性能上比BIO要好,参考:Java IO学习笔记五:BIO到NIO 但是NIO也有问题,NIO服务端的示例代码中往往会包括如下代码:即:遍历所有的SocketChannel,获取能读写数据的客户端,当客户端数量非常多的时候,服务端要轮询所有连接的客户端拿数据(recv调用),很多调用是无意义的,这样会导致频繁的用户态切换成内核态,导致性能变差. .... //遍历已经链接进来的客户端能不能读写数据 for (Sock…
redis学习笔记(详细)--初级篇 redis学习笔记(详细)--高级篇 redis配置文件介绍 linux环境下配置大于编程 redis 的配置文件位于 Redis 安装目录下,文件名为 redis.conf.一般情况下,会单独拷贝出来一份进行操作.来保证初始文件的安全 config get * # 获取全部的配置 include部分 组合多个配置.和Spring配置文件类似,可以通过includes包含,redis.conf 作为总文件,可以包含其他配置文件! network网络部分 网络…
redis是一个cs模式的tcp server,使用和http类似的请求响应协议.一个client可以通过一个socket连接发起多个请求命令.每个请求命令发出后client通常会阻塞并等待redis服务处理,redis处理完后请求命令后会将结果通过响应报文返回给client.基本的通信过程如下: Client: INCR X Server: 1 Client: INCR X Server: 2 Client: INCR X Server: 3 Client: INCR X Server: 4…
package cn.com; import java.util.HashMap; import java.util.Map; import java.util.Set; import redis.clients.jedis.Jedis; import redis.clients.jedis.Tuple; /** * 有序集合的所有操作方法 * * */ public class Redis_SortedSet { public static Jedis redis = new Jedis("l…