经过上一篇基于Redis散列类型的改造后,实战练习中的商品管理已经具备了增加.修改整体.修改部分属性和分页查询功能,但仍然不支持删除商品的功能.这是因为商品总数是以一个自增数字记录的,且关联了新商品key的生成,删除商品后不能直接减小总数,进而会影响到分页的计算. 在本节中将完善这个功能,使用一个新的数据类型 - 列表类型(List)来保存所有商品ID,计算商品总量时通过计算列表类型长度获得,删除商品时也同时删除列表中的ID. 列表类型用于存储可重复的字符串列表,内部按照添加的先后保持顺序,在列…
Redis集合类型的基础功能也是存储字符串列表,和列表类型的区别是字符串不能重复且没有顺序.当然,存储元素唯一性也可以通过应用程序保证,单从这一点上并没有体现出对比列表类型的特点. 其实,集合类型的一个鲜明特性是可以对多个集合求交集.并集和差集.例如在一个社交应用中,A用户有C.D两个好友,B用户有D.E两个好友,可用通过sinter A B的命令很方便的查出A和B的共同好友. 本节中将利用这个特性给实践练习中的商品管理模块添加一个按分类查找商品的功能. 一.常用命令 import java.u…
字符串类型是Redis中最基本的数据类型,能存储任何形式的字符串和和二进制数据.本文以代码形式列举常用的操作命令,并在实践部分演示一个简单的商品管理功能,实现了通常使用关系型数据库开发的增改查功能,注意并没有实现删除功能,这将放在后面的列表类型中去实现. 一.常用命令 pom.xml <dependencies> <dependency> <groupId>redis.clients</groupId> <artifactId>jedis<…
有序集合类型是Redis五种数据类型中最高级的.也是最复杂的类型.有序集合具有集合类型的特性,在其基础上给每个元素关联了一个分值,或称为权重,操作时既可以在添加元素时指定分值,也可以单独修改集合中某一个元素的分值.使用时可以按分值排序(从低到高或从高到低)并顺序读取全部或某一范围内的元素,或者获得某一分值范围内的元素.利用这一特点,可以很方便的实现排行榜.热门文章等功能. 在本节的实例中,使用有序集合类型为商品管理模块添加一个按浏览量排序的功能. 一.常用命令 import java.util.…
从上一篇的实例中可以看出,用字符串类型存储对象有一些不足,在存储/读取时需要进行序列化/反序列化,即时只想修改一项内容,如价格,也必须修改整个键值.不仅增大开发的复杂度,也增加了不必要的性能开销. 一个更好的选择是使用散列类型,或称为Hash表.散列类型与Java中的HashMap相似,是一组键值对的集合,且支持单独对其中一个键进行增删改查操作.使用散列类型存储前面示例中的商品对象,结构如下图所示: 下面先通过示例代码来看散列类型常用的操作命令 一.常用命令 HashExample.java i…
列表类型 列表类型也是一个我们很长要用到的一个类型.比如我们发博客,要用到博客列表.如果没有列表我们就只能遍历键来获取所有文章或一部分文章了,这个语法是keys,但是这个命令需要遍历数据库中的所有键,处于性能方面的考虑,在生产环境是不推荐使用的. 列表类型可以存储一个有序的字符串列表,常用的操作是向列表两端添加.删除.获取元素,或者某个片段.在redis中,实际上是使用双向链表的方式实现的,所以在列表两端添加删除元素的时间复杂度是O(1),获取的元素越接近两端,速度越快.但是通过索引访问元素就会…
文章目录 前言 一.字符串类型 二.哈希类型 三.列表类型 四.集合类型 五.有序集合类型 六.通过命令 前言 redis的数据结构 redis存储的是key,value格式的数据,其中的key是字符串,value有5种不同的数据结构 value的数据结构 1.字符串类型 string 2.哈希类型 hash 3.列表类型 list 4.集合类型 set 5.有序集合类型 sortedset 提示:本博客仅为了记录自我的学习过程,理清技术思路 一.字符串类型 1.存储:set key value…
一.redis介绍 1.redis特性 Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库.缓存和消息中间件 redis是c语言编写的,支持数据持久化,是key-value类型数据库. 应用在缓存,队列系统中 redis支持数据备份,也就是master-slave模式 2.redis优势 性能高,读取速度10万次每秒 写入速度8万次每秒 所有操作支持原子性 用作缓存数据库,数据放在内存中 替代某些场景下的mysql,如社交类app 大型系统中,可以存储sessio…
1.在列表两端增加值的命令 127.0.0.1:6379> lpush 1 (error) ERR wrong number of arguments for 'lpush' command 127.0.0.1:6379> lpush rs 1 (integer) 1 127.0.0.1:6379> lpush rs 2 3 (integer) 3 127.0.0.1:6379> rpush rs 4 5 6 (integer) 6 2.查看某个范围内的值 127.0.0.1:63…
Redis列表是简单的字符串列表,按照插入顺序排序.你可以添加一个元素到列表的头部(左边)或者尾部(右边) list即可以作为“栈”也可以作为"队列". 操作: >lpush list1 "world" //在list1头部压入一个字串 >lpush list1 "hello" // 在list1头部压入一个字串 >lrange list1 0 -1 //获取list1中内容 0:表示开头 -1表示结尾. >rpush l…
魔改redis之添加命令hrandmember 目录 魔改redis之添加命令hrandmember 正文 前言 Set类型与srandmember命令 Hash类型对比Set类型 hrandmember命令 参考文献 正文 前言 想从redis的hash表获取随机的键值对,但是发现redis只支持set的随机值SRANDMEMBER.但是如果把hash表中的数据又存一份,占用的空间又太大.也可以通过先HLEN获取hash表的大小,随机出一个偏移值,再调用HSCAN获得一组数据.或者直接多次随机…
Redis 小白指南(二)- 基础命令和五大类型:字符串.散列.列表.集合和有序集合 引言 目录 基础命令 字符串类型 散列类型 列表类型 集合类型 有序集合类型 基础命令 1.获得符合规则的键名列表 KEYS pattern pattern 支持 glob 风格通配符: 2.判断一个键是否存在 EXISTS key 如果键存在则返回整数类型 1,否则返回 0 3.删除键 DEL key [key ...] 可以删除一个或者多个键,返回值是删除的键的个数 4.获得键值的数据类型 TYPE key…
windows下使用redis,Redis入门使用,Redis基础命令 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>.. 蕃薯耀 2016年9月13日 15:19:26 星期二 http://fanshuyao.iteye.com/ 一.Redis的使用 REmote DIctionary Ser…
笔者最初接触Redis是因为了解了一些nosql方面的知识,觉得nosql是一个很有意思的方面.像其中的mongodb,redis等等.当初也没有深入的去了解Redis,直到自己前段时间在写一个web项目的时候需要用到缓存来进行性能优化我才仔细的来学习Redis.下面我就来说说我自己在学习Redis过程中的一些心得. Redis是一个nosql数据库,它采用字典结构以键值对的形式将数据全部存储在内存中所以它读写的速度很快,因此很多项目用Redis做缓存用,我也是基于这个想法来学习Redis的. …
写在前面 Redis是一个高速的内存数据库,它的应用十分广泛,可以说是服务端必学必精的东西.然而,学以致用,无用则无为.学了的东西必须反复的去用,去实践,方能有真知.这篇文章记录了我在redis学习过程中的笔记.理解和实践,仅供参考. 本章介绍redis基础中的基础,常用命令的使用和效果. string string类型是redis中最常见的类型了,通过简单的set.get命令就可以对这个数据结构做增删操作,应该也是redis最大众的类型之一,存json.存自增数值.甚至缓存图片. string…
redis简介redis是一个开源(BSD许可)的使用C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,它可以用作数据库.缓存和消息中间件,并提供多种语言的API.从2010年3月15日起,redis的开发工作由VMware主持.从2013年5月开始,Redis的开发由Pivotal赞助. redis是一个key-value存储系统.它支持存储的value类型包括string(字符串).list(链表).set(集合).zset(sorted set --有序集合)和…
字符串 P39 Redis 的字符串是一个有字节组成的序列,可以存储以下 3 种类型的值:字节串(byte string).整数.浮点数. 在需要的时候, Redis 会将整数转换成浮点数.整数的取值范围和系统的长整型(long)的相同,浮点数取值范围和精度与 IEEE 754 标准下的双精度浮点数(double)的相同. Redis 中的自增命令和自减命令 P39 命令 格式 描述 INCR INCR key 将键存储的数字值加上 1 DECR DECR key 将键存储的数字值减去 1 IN…
本文版权归博客园和作者吴双本人共同所有.转载和爬虫请注明原文地址 Redis五种数据类型之列表类型 Redis五种数据类型之列表类型.你可以存储一个有序的字符串列表一类数据.比如你想展示你所存储的所有文章中的前十条,当分页取下一页的时候,你也可以取接下来的十条.所以建议你维护一个文章ID的列表.其内部使用双向链表实现,这意味着在你获取一段头部和尾部的数据是极快的,但是在数据量大时获取列表中间部分的数据稍慢.因为链表通过索引访问数据.比如微信的朋友圈,我们关注的大部分只是最新的数据,所以这样的场景…
1.redis命令不区分大写和小写.可是KEY区分大写和小写. 2.redis-cli -h 127.0.0.1 -p 6379 依据IP/PORT链接服务端 3.redis-server --port 6380  --port參数设置服务端端口号 4.參数设置      A.redis-server redis.conf    启动时载入配置文件设置參数      B.redis-server redis.conf --loglevel waring  通过启动參数覆盖配置文件里同名的參数值…
Redis 列表(List) Redis列表是简单的字符串列表,按照插入顺序排序.你可以添加一个元素到列表的头部(左边)或者尾部(右边) 一个列表最多可以包含 232 - 1 个元素 (4294967295, 每个列表超过40亿个元素) 使用场景 : 消息队列,时间轴 lpush : 将一个或多个值插入列表头部,如果key是其他类型报错,成功返回列表数量,如果key不存在,先创建一个空列表 127.0.0.1:6379> set yhq 123 OK 127.0.0.1:6379> lpush…
[一]向列表两端添加元素 -->命令:LPUSH key value [value ...] -->向列表的左侧添加元素,返回值表示增加元素后列表的长度 -->命令:RPUSH key value [value...] -->向列表的右侧添加元素,返回值表示增加元素后列表的长度…
BLPOP BRPOP BRPOPLPUSH LINDEX LINDEX key index 返回列表 key 中,下标为 index 的元素. 下标(index)参数 start 和 stop 都以 0 为底,也就是说,以 0 表示列表的第一个元素,以 1 表示列表的第二个元素,以此类推. 你也可以使用负数下标,以 -1 表示列表的最后一个元素, -2 表示列表的倒数第二个元素,以此类推. 如果 key 不是列表类型,返回一个错误. LINSERT LINSERT key BEFORE|AFT…
回顾:上一基础中已了解 ( 什么是redis .redis 的三大特点.安装,和数据配置) 接下来浅尝Redis的数据类型,时间煮雨...... 一.Redis数据类型 redis支持五中数据类型(string字符串.hash哈希.list列表.set集合.zset有序集合) (一)String 字符串 1.string 是redis 中最基本的类型,可以理解成与memcached一模一样的类型,一个key对应一个value 2.string 类型是二进制安全的,意思是redis 的string…
Redis总共有五种数据类型,在学习的时候,一定要开一个redis-cli程序,边看边练,提高效率. 一.最简单的命令 1.获得符合规则的键名列表 keys * 这里的*号,是指列出所有的键,同时*号也可以替换成其他支持glob风格通配符格式,具体规则如下: ?:匹配一个字符 *:匹配任意个(包括0个)字符 []:匹配括号间多大任一个字符,可以使用“-”表示范围,如[a-z] \x:匹配字符x,用于转义,如需匹配问号,需要\?才能匹配 这里说明一下,redis命令是不区分大小写的,还有就是key…
Redis 小白指南(二)- 聊聊五大类型:字符串.散列.列表.集合和有序集合 引言 开篇<Redis 小白指南(一)- 简介.安装.GUI 和 C# 驱动介绍>已经介绍了 Redis 的安装.GUI 和 C# 驱动等基本知识,这一篇主要是梳理一下 Redis 的 5 种类型的信息与指令. 目录 字符串类型(String) 散列类型(Hash) 列表类型(List) 集合类型(Set) 有序集合类型(SortedSet) 其它命令 字符串类型(String) 1.介绍: 字符串类型是 Redi…
xtrabackup命令用法实战 转载出自 https://blog.csdn.net/wfs1994/article/details/80399408 完全备份 1.创建备份 [root@linux-node1 backup]# xtrabackup --user=backup --password=123456 --databases=zabbix --backup --target-dir=/data/backup/xtrabackup/ 2.将备份推送到测试机 [root@linux-n…
基础命令 命令历史 命令历史的管理 登陆 shell 时,会读取命令历史文件中记录下的命令: ~/.bash_history . 登陆进 shell 后,新执行的命令只会记录在缓存中,这些命令会在用户退出时追加保存到命令历史文件中. history使用 [root@zze ~]# history cd ~ ll history history:查看所有历史. [root@zze ~]# history history history history #:查看最近 # 条历史. [root@zze…
今天开始系统的学习redis基础知识,以往只是看redis的手册,貌似总是记不住.这次尝试手记笔记,使得印象更加深刻,从零开始学习.看是很慢,其实很快哟. 一.什么是Redis 至于什么是redis, 官网上这样给出:redis 是Salvatore Sanfilippo 这个人写的 Key-value 存储系统.Redis是一个开源的使用 C语言编写的,并且准守 BSD协议 属于Key-value 数据库.也被称为数据结构服务器,因为 value 可以是 (字符串,哈希,列表,集合,有序集合)…
Redis提供了丰富的命令(command)对数据库和各种数据类型进行操作,这些command可以在Linux终端使用. 在编程时,比如使用Redis 的Java语言包,这些命令都有对应的方法.下面将Redis提供的命令做一总结. 官网命令列表:http://redis.io/commands (英文) 1.连接操作相关的命令 quit:关闭连接(connection) auth:简单密码认证 2.对value操作的命令 exists(key):确认一个key是否存在 del(key):删除一个…
2019年第一篇文档,为2019年做个良好的开端,本文档通过step by step的方式向读者展示如何为redis添加一个数据类型,阅读本文档后读者对redis源码的执行逻辑会有比较清晰的认识,并且可以深入理解redis 源码中关于链表数据结构的使用,写这篇文档作者获益良多,阅读系统软件源码的兴趣也大大提高. 同时也再次感受到良好的基础是深入学习的前提.特别强调本文档仅用于学习,并非是要修改redis源码. 建议读者阅读本文档时实际动手敲一下代码,然后翻阅下redis源码,debug下redi…