千呼万唤始出来,呵呵(没有犹抱琵琶半遮面)。Redis数据类型第二弹来了!
这次主要是讲解set,sorted set,hash
ps:希望大家习惯我的博客风格。我主要是通过操作Redis的常用命令来讲解这个数据库。截图我觉得能更好的说明效果。但是有些网速可能不给力,所以这次除了截图,我也会吧代码直接贴出来
老套路,我们先启动Redis服务器
命令在复习一次:redis-server redis.conf
开启客户端:redis-cli
输入密码:AUTH ****
还是先简单的复习一下上次说的三种数据结构。
第一种:key(略)太简单了
第二种:String
存取一对键值对:
redis 127.0.0.1:6379> set s_k01 aaaa OK redis 127.0.0.1:6379> get s_k01 "aaaa" redis 127.0.0.1:6379>
第三种:List。list是有序的可以重复的集合
存取一个list
redis 127.0.0.1:6379> select 1 OK redis 127.0.0.1:6379[1]> DBSIZE (integer) 0 redis 127.0.0.1:6379[1]> lpush l_k01 a b c d a b c d (integer) 8 redis 127.0.0.1:6379[1]> rpush l_k01 haha (integer) 9 redis 127.0.0.1:6379[1]> lrange l_k01 0 -1 1) "d" 2) "c" 3) "b" 4) "a" 5) "d" 6) "c" 7) "b" 8) "a" 9) "haha"
好了,前面三种数据结构就到这。多写几次就熟悉了。
下面开始讲解剩下的三种类型。尤其注意set
第一种:set。set是一种无序的,不能重复的集合
redis 127.0.0.1:6379[1]> sadd sk01 a b c a (integer) 3 redis 127.0.0.1:6379[1]> smemhers sk01 (error) ERR unknown command 'smemhers' redis 127.0.0.1:6379[1]> SMEMBERS sk01 1) "c" 2) "a" 3) "b" redis 127.0.0.1:6379[1]> srem sk01 a (integer) 1 redis 127.0.0.1:6379[1]> smembers sk01 1) "c" 2) "b" redis 127.0.0.1:6379[1]> spop sk01 "b" redis 127.0.0.1:6379[1]> SMEMBERS sk01 1) "c" redis 127.0.0.1:6379[1]> SRANDMEMBER sk01 "c" redis 127.0.0.1:6379[1]> SMEMBERS sk01 1) "c" redis 127.0.0.1:6379[1]> sadd sk01 hah hive pig hadoop (integer) 4 redis 127.0.0.1:6379[1]> SMEMBERS sk01 1) "c" 2) "pig" 3) "hah" 4) "hive" 5) "hadoop" redis 127.0.0.1:6379[1]> smove sk01 sk02 hive (integer) 1 redis 127.0.0.1:6379[1]> SMEMBERS sk01 1) "pig" 2) "hah" 3) "c" 4) "hadoop" redis 127.0.0.1:6379[1]> SMEMBERS sk02 1) "hive" redis 127.0.0.1:6379[1]>
redis 127.0.0.1:6379[1]> SMEMBERS sk01 1) "pig" 2) "hah" 3) "c" 4) "hadoop" redis 127.0.0.1:6379[1]> scard sk01 (integer) 4 redis 127.0.0.1:6379[1]> sismember sk01 hadoop (integer) 1 redis 127.0.0.1:6379[1]> sismember sk01 hadoop1 (integer) 0 redis 127.0.0.1:6379[1]> smembers sk02 1) "hive" redis 127.0.0.1:6379[1]> sadd sk02 hadoop c (integer) 2 redis 127.0.0.1:6379[1]> smembers sk01 1) "hah" 2) "pig" 3) "c" 4) "hadoop" redis 127.0.0.1:6379[1]> smembers sk02 1) "c" 2) "hadoop" 3) "hive" redis 127.0.0.1:6379[1]> sinter sk01 sk02 1) "c" 2) "hadoop" redis 127.0.0.1:6379[1]> sunion sk01 sk01 1) "hah" 2) "pig" 3) "c" 4) "hadoop" redis 127.0.0.1:6379[1]> sdiff sk01 sk02 1) "pig" 2) "hah" redis 127.0.0.1:6379[1]>
关于set的描述就到此请注意最后三个集合的操作:差集,交集,并集这三种比较常用。如果可以的话,我会举个例子。看看Redis是怎么实现关系型数据中的联合查询
第二种:SortedSet这是一种带有排序的set集合,适用性不是很多。简单介绍一下常用的操作
redis 127.0.0.1:6379> Flushdb OK redis 127.0.0.1:6379> DBSIZE (integer) 0 redis 127.0.0.1:6379> zadd ssk01 1 a 2 b 3 c (integer) 3 redis 127.0.0.1:6379> zadd ssk01 4 a (integer) 0 redis 127.0.0.1:6379> zadd ssk01 1 a (integer) 0 redis 127.0.0.1:6379> zrem ssk01 a (integer) 1 redis 127.0.0.1:6379> zrank ssk01 b (integer) 0 redis 127.0.0.1:6379> zrank ssk01 c (integer) 1 redis 127.0.0.1:6379> zadd ssk01 1 a (integer) 1 redis 127.0.0.1:6379> zrank ssk01 a (integer) 0 redis 127.0.0.1:6379> zrank ssk01 c (integer) 2 redis 127.0.0.1:6379> ZREVRANGE ssk01 b (error) ERR wrong number of arguments for 'zrevrange' command redis 127.0.0.1:6379> zcount ssk01 0 -1 (integer) 0 redis 127.0.0.1:6379> zcount ssk01 0 3 (integer) 3 redis 127.0.0.1:6379> zrangebyscore ssk01 0 3 1) "a" 2) "b" 3) "c" redis 127.0.0.1:6379>
第三种数据类型:map这种键值对的结构在实际应用中也是比较多的
//存放一个键值对 redis 127.0.0.1:6379> hset mk01 a A (integer) 1 redis 127.0.0.1:6379> hset mk01 b B (integer) 1 //存放多对键值对 redis 127.0.0.1:6379> hmset mk01 c C d D OK //获得所有的键值对 redis 127.0.0.1:6379> HGETALL mk01 1) "a" 2) "A" 3) "b" 4) "B" 5) "c" 6) "C" 7) "d" 8) "D" //获得mk01中键为a对应的值 redis 127.0.0.1:6379> hget mk01 a "A" //取出多个键值对 redis 127.0.0.1:6379> hmget mk01 a b d 1) "A" 2) "B" 3) "D" //判断a是否存在 redis 127.0.0.1:6379> HEXISTS mk01 a (integer) 1 //删除键为a的数据 redis 127.0.0.1:6379> hdel mk01 a (integer) 1 redis 127.0.0.1:6379> HEXISTS mk01 a (integer) 0 //返回map的长度 redis 127.0.0.1:6379> hlen mk01 (integer) 3 redis 127.0.0.1:6379> hkey mk01 (error) ERR unknown command 'hkey' //获得所有的key redis 127.0.0.1:6379> hkeys mk01 1) "b" 2) "c" 3) "d" //获得所有的value值 redis 127.0.0.1:6379> hvals mk01 1) "B" 2) "C" 3) "D"
以上就是Redis的所有数据类型。是不是很简单!注意多敲几遍,熟悉了才能灵活运用
相关推荐
1 Redis常用的数据类型有什么? 2 如何配置启动持久化AOF? 3 查看以test开头的所有的key 4 Redis如何将key为a的hash中key为b对应的值加1 5 Redis有几种订阅方法? 6 简述Redis建立连接池的代码 7 使用jedis向队列b...
Redis主要有哪些功能? Redis支持哪几种数据类型? Redis是单进程单线程的? Redis为什么是单线程的? 使用Redis的优势? Redis集群方案应该怎么做?都有哪些方案? ...
本书深入浅出地介绍了Redis的5种数据类型,并通过多个实用示例展示了Redis的用法。除此之外,书中还讲述了Redis的优化方法以及扩展方法,是一本对于学习和使用 Redis 来说不可多得的参考书籍。& W3 B, |3 M4 O5 |- k...
a)了解NoSQL及其产品 b)掌握Redis的安装和启动 c)掌握Redis的数据类型 d)掌握Redis的操作命令 e)掌握JRedis的使用 f)掌握Redis的持久化 g)掌握Redis的replication
TYPE key 返回某个key元素的数据类型 ( none:不存在,string:字符,list,set,zset,hash) KEYS pattern 返回匹配的key列表 (KEYS foo*:查找foo开头的keys) RANDOMKEY 随机获得一个已经存在的key,如果当前数据库为空...
我们给大家列出详细的图文步骤教给大家在linux虚拟机...Redis数据类型 b) 在/usr/local创建redis目录(mkdir redis) 将redis-3.0.7.tar.gz复制到此目录下(cy /root/redis-3.0.7.tar.gz /usr/local/redis),进行解压(ta
与其它键值数据存储相比,Redis有一组相对丰富的数据类型。 c.Redis可以将数据复制到任意数量的从机中。 Redis的优点 a.异常快:Redis非常快,每秒可执行大约110000次的设置(SET)操作,每秒大约可执行81000次的读取/...
这里之前的配置有问题,因为参数类型不一致,有时候jar和环境的问题,导致参数根据index对应,会处理问题, 理论上加另一个 name,就可以解决,现在把name 和type都加上,更保险。 --> 二、登录获取上一个URL...
例如:100个redis数据节点组成的redis-cluster集群,如果单纯手工安装,既耗时又容易出错。2.实例碎片化 作为一个Redis管理员(可以看做redis DBA)需要帮助开发者管理上百个Redis-Cluster集群,分布在数百台机器上,...
基本代码 from redis import * if __name__ == '__main__': ...这里我们存进去的是字符串类型的数据,取出来却是字节类型的,这是由于python3的与redis交互的驱动的问题,Python2取出来的就是字符串类型的。 为了得到
逻辑结构:描述数据元素之间的逻辑关系,如线性结构(如数组、链表)、树形结构(如二叉树、堆、B树)、图结构(有向图、无向图等)以及集合和队列等抽象数据类型。 存储结构(物理结构):描述数据在计算机中如何...
创建内部表的同时,会将数据挪到数据仓库指定的位置(正确答案) B.删除内部表时只删除源数据 C.创建内部表时,只记录数据指定的路径 D.删除外部表时删除表中数据和源数据 大数据与人工智能-fy全文共22页,当前为第1页...
r1 b# x1 k3 e 137.01 交叉检索redis 138.02 交叉检索redis* Y7 `1 z9 P" D% J+ E 139.03 判断交叉检索的key 140.04 redis的使用总结: C& g/ P ^; B. n8 Y6 d1 C# ^9 l 141.05 一些小问题. @( |. p' J! V5 s; Z+ E ...
03 JS的基本数据类型 04 JS的运算符 05 JS的控制语句与循环 06 JS的循环与异常 07 JS的字符串对象 08 JS的数组对象 09 JS的函数对象 第42章 01 JS的函数作用域 02 JS的window对象之定时器 03 JS的history对象和...
leetcode下载 interview Python 类变量 静态变量 实例变量区别 垃圾回收机制 循环引用怎么解决 协程 单例 ...GIL是什么为什么会限制效率 ...支持哪些数据类型 zset 底层数据结构是什么,为什么这么设计 redis支持事
描述:类似于bilibili的一个视频网站。 大致的功能: 用户可以上传视频,也可以浏览器他人的视频,也可以评论其他人的视频,也...《在线视频播放平台》前后台-前端功能演示,Redis实现首页热点数据缓存 防止缓存雪
2.4.1 数据类型对象 21 2.4.2 字符码 21 2.4.3 Dtype构造函数 22 2.4.4 dtype属性 23 2.5 一维数组的切片与索引 23 2.6 处理数组形状 24 2.6.1 堆叠数组 27 2.6.2 拆分NumPy数组 30 2.6.3 NumPy数组的属性 ...
>系统缓存->路由器缓存-> IPS服务器缓存->根域名服务器缓存->顶级域名服务器缓存3.1 redis基本数据类型字符串:最基本的数据类型,二进制安全命令:set,get,incr哈希:字符串元素组成的字典,合适的存储对象命令:...
单线程、数据类型、淘汰机制、集群模式 第八篇:MySQL 那点破事!索引、SQL调优、事务、B+树、分库分表 第九篇:Mybatis 那点破事! ORM,动态SQL、动态代理 第十篇:Spring 那点破事!IOC、AOP、生命周期、动态代理...
给你们上点干货,让面试官膜拜 面试题: HashMap底层实现原理,红黑树,B+树,B树的结构原理,volatile关键字,CAS(比较与交换)实现原理 Spring的AOP和IOC是什么?... Redis支持的数据类型以及使用场景,持