Hash类型                                                                                    hset key field value 设置hash field为指定值,如果key不存在,则先创建. hget key field 获取指定的hash field. hmget key filed1....fieldN 获取全部指定的hash filed. hmset key filed1 value1 ... f…
Zset类型                                                                                                                               ZADD key score member 添加指定成员到有序集合中,如果目标存在则更新score(分值,排序用). ZREM key member 从有序集合删除指定成员. ZINCRBY key increment member…
3.6有序集合类型 3.6.1介绍 在集合类型基础上,为集合中每个元素都关联了一个分数,故可以获得 分数最高(最低)的前N个元素,可以获得指定范围内的元素等 有序集合中每个元素不同,但它们的分数却可以相同 有序集合和列表相同点: 都是有序的 都可以获得某一范围元素 有序集合和列表区别: 列表是通过双链表实现的 有序集合是使用散列表和跳跃表实现的 列表中不能简单地调整某个元素 但是集合可以(通过更改这个元素的分数) 有序集合要比列表更耗费内存 3.6.2命令 增加元素 zadd key score…
3.5集合类型 3.5.1介绍 在集合中的每个元素都是不同的,且没有顺序 表3-4集合类型和列表类型的对比 - 集合类型 列表类型 存储内容 至多232-1个字符串 至多232-1个字符串 有序性 否 是 唯一性 是 否 集合类型在redis内部是使用值为空的散列表实现的,所有这些操作的 事件复杂度都是O(I) 3.5.2命令 增加/删除元素 sadd key member [member ...] 向集合中增加元素,如果键不存在会自动创建 如果加入的元素已经存在域集合,就会忽略这个元素 返回值…
3.4列表类型 3.4.1介绍 列表类型可以存储一个有序的字符串列表,常用的操作是向列表两端添加元素,或者 获得列表的某一片段. 优点:内部使用的是双向链表,所以向列表两端添加元素的时间复杂度为O(1),获取 越接近两端的元素速度越快. 双向链表也叫双链表,是链表的一种,它的每个数据结点中都有两个指针,分别 指向直接后继和直接前驱 时间复杂度是同一问题可用不同算法解决,而一个算法的质量优劣将影响到算法 乃至程序的效率.O(1)为常数阶. 缺点:通过索引访问元素比较慢 所以列表适合的应用于: 1.…
3.3散列类型 3.3.1介绍 散列类型不能嵌套其他数据类型,一个散列类型可以包含至多232-1个字段 散列类型适合存储对象:使用对象类别和ID构成键名,使用字段表示对象的数据, 而字段值则存储属性值. 图3-5使用散列类型存储汽车对象结构图 键 字段 字段值 car:2 color 白色 car:2 name 奥迪 car:2 price 90万 3.3.2命令 赋值与取值 hset key field value 单个字段赋值 hget key field 单个字段取值 hmset key…
3.2字符串类型 实际上redis不只是数据库,更多的公司和团队将redis用作缓存和 队列系统 3.2.1介绍 字符串类型是redis最基本的数据类型,它能存储任何形式的字符串, 包括二进制数据.你可以用其存储用户的邮箱.JSON化的对象甚至 是一张图片. 一个字符串类型键允许存储的数据的最大容量是512M 字符串类型是其他4中数据类型基础,其他数据类型和字符串类型 的差别是从某种角度来说只是组织字符串的形式不同.例如, 列表类型是以列表的形式组织字符串 集合类型是以集合的形式组织字符串 3.…
string类型                                                                                  set 赋值 get 取值 setnx 先判断是否存在,不存在赋值,存在返回0 setrange 设置指定key的value值的子字符串赋值. 第一个字符为0,数字6代表从第6个开始修改,20代表字符串长度. mset 一次设置多个key的赋值 msetnx 一次设置多个key的赋值,先判断是否存在,不存在赋值,存在返…
第5章实践 5.3 python与redis 5.3.1安装 pip install redis 5.3.2使用方法 自己补充内容:Ubuntu下redis开启远程连接 打开redis配置:sudo vi /etc/redis/redis.conf 注释掉"bind 127.0.0.1",或者修改为"bind 0.0.0.0" 重启redis服务:sudo /etc/init.d/redis-server restart import redis r = redis…
博主教材:李子骅.人民邮电出版社.<redis入门指南> 博主操作系统系统:虚拟机Ubuntu16.04 博主redis版本:3.0.6 第1章:简介 redis是一个开源的.高性能的.基于键值对缓存的与存储系统, 通过提供多种键值数据类型来适应不同场景下的缓存与存储需求. 1.1历史域发展 使用redis情况: 国内:新浪微博,街旁,知乎 国外:GitHub,Stack Overflow,Flickr,暴雪,Instagram VMware公司从2010年开始赞助redis的开发 1.2特性…
Redis的数据是通过key-value的方式存储的,对于value的数据类型有字符串.Hash.list.set.sortedSet在redis命令语句中,语句是忽略大小写的,但是key是不可以忽略大小写的. 使用string遇到的问题. 假设:我们使用一个类对象以json的形式存储在Redis中,类中有很多属性,我们有时候只是想修改其中一个数据的时候,操作就要回将数据从string中取出来,然后修改,这样会影响响应的速度.可以使用Hash来解决这个问题. Hash的简单的介绍 hash叫做散…
4.4消息通知 4.4.1任务队列 传递任务的队列.与任务队列进行交互的实体有两类,一类是生产者,一类是消费者. 生产者将需要处理的任务放入任务队列中,二消费者不断从任务队列中读入任务 信息并执行. 优点: 松耦合 生产者和消费者无需知道彼此实现的细节 易于扩展 消费者可以有多个,而且可以分布在不同服务器 4.4.2使用redis实现任务队列 3.4.2节中的lpush和rpop|lpop命令可以实现队列概念,伪代码: # 无线循环读取任务队列的内容 loop $task = rpop queu…
4.3排序 4.3.1有序集合的集合操作 有序集合没有zinter和zunion命令,使用其他命令实现方法: multi zinterstore tempKey ... zrange tempKey ... del tempKey exec 4.3.2 sort命令 sort key [alpha] [asc|desc] [limit offset count] sort命令可以对列表类型.集合类型和有序集合类型进行排序,并且完成与 关系数据库中连接查询相类似的任务 127.0.0.1:6379…
4.2过期时间 **4.2.1命令介绍* 在redis中使用 expire 命令设置一个键的过期时间后redis会自动删除它. expire key seconds (seconds单位是秒,必须是整数) 返回值是1表示设置成功,返回0则表示键不存在或设置失败 查看见还有多久被删除: ttl key 返回值是键的剩余时间,-1表示该键没有设置过期时间,-2表示该键不存在 取消键的过期事件设置: persist key 为该键重新赋值也会清除键的过期时间 pexpire key msec (mse…
第4章:进阶 4.1事务 4.1.1概述 redis中的事务是一组命令的集合 事务同命令一样都是redis的最小执行单位,一个事务中的命令要么都执行, 要么都不执行 事务的原理是先将一个事务的命令发送给redis,然后再让redis依次执行 这些命令,例如: 127.0.0.1:6379> multi OK 127.0.0.1:6379> sadd 'user:1:following' 2 QUEUED 127.0.0.1:6379> sadd 'user:2:following' 1…
第3章:入门 3.1热身 获取符合规则的键名列表:keys 匹配key 表3-1 glob风格通配符规则 符号 含义 ? 匹配一个字符 * 匹配任意个(包括0个)字符 [ ] 匹配括号间的任一字符,可以使用'-'符号表示范围,如a(b-d) \x 匹配字符x,用于转义符号,如果匹配'?',就需要使用? 127.0.0.1:6379> set bar 1 OK 127.0.0.1:6379> keys * 1) "bar" 2) "key" 3) &quo…
第2章:准备 '纸上得来终觉浅,绝知此事要躬行'--陆游 2.2启动和停止redis 表2-1 redis可执行文件说明 文件名 说明 redis- server redis服务器 redis-cli redis命令行客户端 redis-benchmark redis性能测试工具 redis-check-aof AOF文件修复工具 redis-check-dump RDB文件检查工具 redis-sentinel Sentinel服务器(2.8版本后) 我们常用的两个程序是redis-serve…
connect 实例连接到一个Redis. $redis = new redis(); $result = $redis->connect('127.0.0.1', 6379); var_dump($result); //结果:bool(true) set <?php $redis = new redis(); $redis->connect('127.0.0.1', 6379); $result = $redis->get('test'); var_dump($result);…
一.lpush key value1 value2 value3 value4(命令将一个或多个值插入到列表头部. 如果 key 不存在,一个空列表会被创建并执行 LPUSH 操作) lpush k1 zhangsan lisi wangwu #创建一个K1从左边依次插入三个值 二.Rpush key value1 value2 value3 value4(命令将一个或多个值插入到列表尾部. 如果 key 不存在,一个空列表会被创建并执行 LPUSH 操作) Rpush k2 zhangsan…
码文不易,转载请带上本文链接,感谢~ https://www.cnblogs.com/echoyya/p/14558034.html 目录 码文不易,转载请带上本文链接,感谢~ https://www.cnblogs.com/echoyya/p/14558034.html 类型断言 语法 类型断言的用途 联合类型可以被断言为其中一个类型 父类可以被断言为子类 任何类型都可以被断言为 any any 可以被断言为任何类型 类型断言的限制 双重断言 类型断言 vs 类型转换 上一篇:TypeScri…
引言 在Redis学习笔记(一)中我们已经会安装并且简单使用Redis了,接下来我们一起来学习下Redis支持的5大数据类型. 简介 Redis是REmote DIctionary Server(远程字段服务器)的缩写,它以字典结构存储数据,并允许其他应用通过TCP协议读写字典中的内容.同大多数脚本语言中的字典一样,Redis字典中的键值除了可以是字符串,还可以是其他的数据类型.到目前为止Redis支持的键值数据类型如下: (1)字符串类型(String) (2)散列类型(Hash) (3)列表…
1. 基础命令 (1) 获取符合规则的键名列表 格式为:KEYS pattern 其中pattern表示支持通配符 # 建立一个名为bar的键 > SET bar OK # 获取Redis所有键 > KEYS * ) "bar" 注意:KEYS命令需要遍历Redis中所有键,因此当键的数量较多时会影响性能. (2) 判断一个键是否存在 格式为:EXISTS key 如果存在则返回1,否则返回0. > EXISTS bar (integer) > EXISTS n…
以下为自学笔记. 一.Array类型 创建数组的基本方式有两种: 1.1第一种是使用Array构造函数(可省略new操作符). 1.2第二种是使用数组字面量表示法. 二.数组的访问 2.1访问方法 在读取和设置数组的值时,要用方括号并提供相应值的基于0的数字索引: 2.2length属性 数组的项数保存在length属性中,这个属性始终返回0或者更大的值. 数组length属性不是只读的,通过设置这个属性,可以从数组的末尾移除项或者向数组中添加新项.看下面的例子: 三.转换方法  valueOf…
写在前面的话:读书破万卷,编码如有神 -------------------------------------------------------------------- -------------------------------------------------------------------- 1.对Hash类型的操作命令 1.1.hset:设置值.格式是:hset hash的key 项的key 项的值 操作如下: java示例代码: import redis.clients.…
第二百九十六节,python操作redis缓存-Hash哈希类型,可以理解为字典类型 Hash操作,redis中Hash在内存中的存储格式如下图: hset(name, key, value)name对应的hash中设置一个键值对(不存在,则创建:否则,修改) name,redis的name key,name对应的hash中的key value,name对应的hash中的value hsetnx(name, key, value),当name对应的hash中不存在当前key时则创建(相当于添加)…
一.介绍 Redis hash是一个string类型的field和value的映射表,hash特别设于用于存储对象. Redis中每个hash可以存储232 - 1 键值对(40多亿). 基本命令: 添加/更新: hset key field value  (将hash表key中的字段field的值设为value) hsetnv key field value  (只有在字段field不存在时,设置hash表字段的值) hmset key field1 value1 [field2 value2…
1. hash哈希类型的操作 1.1. hset key field value 语法:hset key field value 作用:把key中field域的值设为value 注:如果没有field域,直接添加:如果有,则覆盖原field域的值 例: 127.0.0.1:6379> hset user1 name lisi (integer) 1 127.0.0.1:6379> hset user1 age 22 (integer) 1 1.2. hget key field 语法:hget…
在Redis中直接启动redis-server服务时, 采用的是默认的配置文件.采用redis-server   xxx.conf 这样的方式可以按照指定的配置文件来运行Redis服务.按照本Redis学习笔记中Redis的按照方式按照后,Redis的配置文件是/etc/redis/6379.conf.下面是Redis2.8.9的配置文件各项的中文解释. #daemonize no 默认情况下, redis 不是在后台运行的,如果需要在后台运行,把该项的值更改为 yes daemonize ye…
redis入门笔记(1) 1. Redis 简介 •Redis是一款开源的.高性能的键-值存储(key-value store).它常被称作是一款数据结构服务器(data structure server).Redis的键值可以包括字符串(strings)类型,同时它还包括哈希(hashes).列表(lists).集合(sets)和 有序集合(sorted sets)等数据类型. 对于这些数据类型,你可以执行原子操作.例如:对字符串进行附加操作(append):递增哈希中的值:向列表中增加元素:…
转自 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&…