redis hash操作 list列表操作
HSET key 子key 子value
192.168.11.5:6379> HSET stu1 name 'zhangmingda'
(integer) 1
192.168.11.5:6379> HSET stu1 age 22
(integer) 1
192.168.11.5:6379> HSET stu1 sex boy
(integer) 1
192.168.11.5:6379> HSET stu1 school huawei
(integer) 1
192.168.11.5:6379> HGETALL stu1
1) "name"
2) "zhangmingda"
3) "age"
4) "22"
5) "sex"
6) "boy"
7) "school"
8) "huawei"
192.168.11.5:6379> HKEYS stu1  看所有key
1) "name"
2) "age"
3) "sex"
4) "school"
192.168.11.5:6379> HVALS stu1 看所有value
1) "zhangmingda"
2) "22"
3) "boy"
4) "huawei"
192.168.11.5:6379> HGET stu1 name 
"zhangmingda"
192.168.11.5:6379> HMSET stu2 name 'qjj' age 22 sex 'boy' 同时设置多个
OK
192.168.11.5:6379> HMGET stu2 name age sex
1) "qjj"
2) "22"
3) "boy"
192.168.11.5:6379>
192.168.11.5:6379> HSCAN stu2 0 match n*
1) "0"
2) 1) "name"
   2) "qjj"
192.168.11.5:6379> HSCAN stu1 0 match n*      //从0位过滤stu1里面有多少个n开头的key 以及key的值。
hscan_iter(name, match=None, count=None) 过滤后返回迭代器。循环这个迭代器再取到过滤的值
| 
 1 
2 
3 
4 
5 
6 
7 
8 
9 
 | 
# 利用yield封装hscan创建生成器,实现分批去redis中获取数据  # 参数:    # match,匹配指定key,默认None 表示所有的key    # count,每次分片最少获取个数,默认None表示采用Redis的默认分片个数  # 如:    # for item in r.hscan_iter('xx'):    #     print item | 
1) "0"
2) 1) "name"
   2) "zhangmingda"
列表 list操作
LPUSH <list_name> value 1 value2 value3 ....
192.168.11.5:6379> LPUSH names_list alex hanyang zhangyang hehao liliang  #先入后出 ,last in first out 后入先出
(integer) 5
192.168.11.5:6379> LRANGE names_list 0 3
1) "liliang"
2) "hehao"
3) "zhangyang"
4) "hanyang"
RPUSH <list_name> value 1 value2 value3 .... #先入先出,(从列表的右边往左边存)
192.168.11.5:6379> RPUSH names_list2 alex hanyang zhangyang hehao liliang
(integer) 5
192.168.11.5:6379> LRANGE names_list2 0 -1
1) "alex"
2) "hanyang"
3) "zhangyang"
4) "hehao"
5) "liliang"
192.168.11.5:6379> LPUSHX names_list2 zhangsan     #只有names_list2 这个列表存在才存数据
(integer) 6
192.168.11.5:6379> LINSERT names_list2 BEFORE  zhangyang  ZHANGSAN # 在names_list2这个列表的zhangyang 前面插入 ZHANGYANG
(integer) 7
192.168.11.5:6379> LRANGE names_list2 0 -1
1) "zhangsan"
2) "alex"
3) "hanyang"
4) "ZHANGSAN"
5) "zhangyang"
6) "hehao"
7) "liliang"
192.168.11.5:6379> LINSERT names_list2 AFTER zhangyang  ZHANGSAN
(integer) 8
192.168.11.5:6379> LRANGE names_list2 0 -1
1) "zhangsan"
2) "alex"
3) "hanyang"
4) "ZHANGSAN"
5) "zhangyang"
6) "ZHANGSAN"
7) "hehao"
8) "liliang"
192.168.11.5:6379> LRANGE names_list2 0 -1
1) "zhangsan"
2) "alex"
3) "hanyang"
4) "ZHANGSAN"
5) "zhangyang"
6) "ZHANGSAN"
7) "hehao"
8) "liliang"
192.168.11.5:6379> LSET names_list2 6 HE-HAO  #修改列表里面的某个值。
OK
192.168.11.5:6379> LRANGE names_list2 0 -1
1) "zhangsan"
2) "alex"
3) "hanyang"
4) "ZHANGSAN"
5) "zhangyang"
6) "ZHANGSAN"
7) "HE-HAO"
8) "liliang"
192.168.11.5:6379>
192.168.11.5:6379> LRANGE names_list2 0 -1   ##############################
1) "zhangsan"
2) "hanyang"
3) "ZHANGSAN"
4) "zhangyang"
5) "ZHANGSAN"
6) "HE-HAO"
7) "liliang"
192.168.11.5:6379> LREM names_list2 2 ZHANGSAN   #删除names_list2 这个列表里面的两个ZHANGSAN
(integer) 2
192.168.11.5:6379> LRANGE names_list2 0 -1
1) "zhangsan"
2) "hanyang"
3) "zhangyang"
4) "HE-HAO"
5) "liliang"
192.168.11.5:6379> LRANGE names_list2 0 -1
1) "zhangsan"
2) "hanyang"
3) "zhangyang"
4) "HE-HAO"
5) "liliang"
192.168.11.5:6379> LPOP names_list2  # 从左侧pop一个数据
"zhangsan"
192.168.11.5:6379> LRANGE names_list2 0 -1
1) "hanyang"
2) "zhangyang"
3) "HE-HAO"
4) "liliang"
RPOP names_list2 从右边获取ming
192.168.11.5:6379> LRANGE names 0 -1
1) "zhang1"
2) "zhang2"
192.168.11.5:6379> LRANGE names2 0 -1
1) "wang1"
2) "wang2"
192.168.11.5:6379> RPOPLPUSH names names2 #把names 列表最右边的,放到names2列表最左边。
"zhang2"
192.168.11.5:6379> LRANGE names2 0 -1
1) "zhang2"
2) "wang1"
3) "wang2"
192.168.11.5:6379> LRANGE names 0 -1
1) "zhang1"
brpoplpush(src, dst, timeout=0) 两个进程之间,从一个列表的右侧移除一个元素并将其添加到另一个列表的左侧
192.168.11.5:6379> LRANGE names2 0 -1
1) "zhang1"
2) "zhang2"
3) "wang1"
4) "wang2"
192.168.11.5:6379> BRPOPLPUSH names names2 100
"test"
(55.93s)
192.168.11.5:6379> LRANGE names2 0 -1
1) "test"
2) "zhang1"
3) "zhang2"
4) "wang1"
5) "wang2"
4.set集合操作(集合无序,自动去重)
192.168.11.5:6379> SADD names3 alex alex jack jack zhangmingda
(integer) 3
192.168.11.5:6379> SMEMBERS names3 #查看names3中的全部集合成员
1) "zhangmingda"
2) "jack"
3) "alex"
192.168.11.5:6379> 
192.168.11.5:6379> SMEMBERS names3
1) "zhangmingda"
2) "jack"
3) "alex"
192.168.11.5:6379> SADD names4 zhangmingda hehe  #创建集合names4 
(integer) 2
192.168.11.5:6379> SDIFF names3 names4   #查看前者有,后者没有的差集
1) "jack"
2) "alex"
192.168.11.5:6379> SMEMBERS names4
1) "hehe"
2) "zhangmingda"
3) "lisi"
192.168.11.5:6379> SMEMBERS names3
1) "alex"
2) "hehe"
3) "zhangmingda"
4) "jack"
192.168.11.5:6379> SDIFFSTORE names names3 names4  #将前者有、后者没有的放到names里面
(integer) 2
192.168.11.5:6379> SMEMBERS names
1) "jack"
2) "alex"
192.168.11.5:6379> SINTER names3 names4   #取两个集合的交集
1) "hehe"
2) "zhangmingda"
192.168.11.5:6379> SINTERSTORE jiaoji names3 names4  #取两个集合的交集,制作一个新的jiaoji集合
(integer) 2
192.168.11.5:6379> SMEMBERS jiaoji
1) "zhangmingda"
2) "hehe"
192.168.11.5:6379> SISMEMBER names3 zhangmingda #监测值是否存在于集合中
(integer) 1
192.168.11.5:6379> SMEMBERS names3
1) "hehe"
2) "zhangmingda"
3) "jack"
4) "alex"
192.168.11.5:6379> 
192.168.11.5:6379> SMOVE names3 names4 hehe #将names3 里的 hehe 移动到 names4
(integer) 1
192.168.11.5:6379> SMEMBERS names3
1) "zhangmingda"
2) "jack"
3) "alex"
192.168.11.5:6379> SPOP names4 #从尾部移除一个元素
"lisi"
192.168.11.5:6379> SRANDMEMBER names3  #随机获取一个元素
"alex"
192.168.11.5:6379> SREM names3 alex #删除对应的,集合元素
(integer) 1
192.168.11.5:6379> SUNION names3 names4 #获取两个集合的交集
1) "hehe"
2) "jack"
3) "zhangmingda"
4) "lisi"
192.168.11.5:6379> SUNIONSTORE newset names3 names4 #获取两个集合的交集,结果赋给一个新的集合
(integer) 4
192.168.11.5:6379> SSCAN newset 0 match *
1) "0"
2) 1) "hehe"
   2) "jack"
   3) "zhangmingda"
   4) "lisi"
192.168.11.5:6379> SSCAN newset 0 match h*  #从0位置开始查找匹配以h开头的元素
1) "0"
2) 1) "hehe"
192.168.11.5:6379> ZADD ordered_set 99 zhangsan 50 lisi 22 wangwu  #设置一个集合 ordred_set  权重大小 元素 权重 元素.......数字越小越靠前
(integer) 3
192.168.11.5:6379> ZRANGE ordered_set 0 -1  #全部获取元素
1) "wangwu"
2) "lisi"
3) "zhangsan"
192.168.11.5:6379> ZRANGE ordered_set 0 -1 withscores #获取全部元素以及权重值
1) "wangwu"
2) "22"
3) "lisi"
4) "50"
5) "zhangsan"
6) "99"
192.168.11.5:6379> ZCOUNT ordered_set 0 50 #获取权重值0 - 50 (含)的元素
(integer) 2
192.168.11.5:6379> ZRANGE ordered_set 0 -1 withscores
1) "wangwu"
2) "32"
3) "lisi"
4) "50"
5) "zhangsan"
6) "99"
192.168.11.5:6379> ZINCRBY ordered_set 3 'wangwu'  #将有序集合ordered_set  元素wangwu 的权重中自增指定值
"35"
192.168.11.5:6379>
192.168.11.5:6379> ZRANGE ordered_set 0 -1 withscores
1) "wangwu"
2) "35"
3) "lisi"
4) "50"
5) "zhangsan"
6) "99"
192.168.11.5:6379> ZRANK ordered_set zhangsan  #查询元素的位置是什么
(integer) 2
192.168.11.5:6379> ZREMRANGEBYRANK ordered_set 0 1  #根据位置删除一个范围的元素
(integer) 2
192.168.11.5:6379> ZRANGE ordered_set 0 -1
1) "zhangsan"
192.168.11.5:6379> ZINTERSTORE zcount 2 ordered_set ordered_set1  #计算两个或者多个有序集合中同名元素的分数,并生成一个新的集合zcount 
(integer) 2
192.168.11.5:6379> ZRANGE ordered_set 0 -1 withscores
1) "zmd"
2) "11"
3) "qjj"
4) "15"
5) "zhangsan"
6) "99"
192.168.11.5:6379> ZRANGE ordered_set1 0 -1 withscores
1) "qjj"
2) "15"
3) "zhangsan"
4) "20"
192.168.11.5:6379> ZRANGE zcount 0 -1 withscores
1) "qjj"
2) "30"
3) "zhangsan"
4) "119"
其他集合常用操作 :
192.168.11.5:6379> DEL zcount # 删除key
(integer) 1
192.168.11.5:6379> RENAME names3 names3_new   #重命名
OK
192.168.11.5:6379> move names3_new 2  #将key移动到另外一个库
(integer) 1
192.168.11.5:6379> SMEMBERS name3_new
(empty list or set)
192.168.11.5:6379> SELECT 2   #切换数据库 redis默认有16个库 从0 到15
OK
192.168.11.5:6379[2]> SMEMBERS names3_new #2库里面有了
1) "zhangmingda"
2) "jack"
192.168.11.5:6379> type names  #看key的类型
set
192.168.11.5:6379> SCAN 0 match name*  #查找匹配key
1) "0"
2) 1) "names"
   2) "names4"
redis hash操作 list列表操作的更多相关文章
- python连接redis、redis字符串操作、hash操作、列表操作、其他通用操作、管道、django中使用redis
		
今日内容概要 python连接redis redis字符串操作 redis之hash操作 redis之列表操作 redis其他 通用操作,管道 django中使用redis 内容详细 1.python ...
 - 004-redis-命令-哈希操作,列表操作
		
Redis hash 命令 下表列出了 redis hash 基本的相关命令: 序号 命令及描述 1 HDEL key field1 [field2] 删除一个或多个哈希表字段 2 HEXISTS k ...
 - python基础操作_字符串操作_列表操作list
		
#字符串可以通过下表取值,如下程序 names='java python' print(names[0],names[5]) #使用for循环轮询所有name值 ''' for name in nam ...
 - AngularJS的添加操作和列表操作
		
代码下载:https://files.cnblogs.com/files/xiandedanteng/agsAddList.rar 添加成员页面图示: 添加成员页面代码: <%@ page la ...
 - redis对hash进行的相关操作
		
redis对hash类型操作的相关命令以及如何在python使用这些命令 redis对hash类型操作的命令: 命令 语法 概述 返回值 Redis Hdel 命令 hdel key field [f ...
 - Python --Redis Hash操作
		
一.Redis Hash操作 Redis 数据库hash数据类型是一个string类型的key和value的映射表,适用于存储对象.Redis 中每个 hash 可以存储 232 - 1 键值对(40 ...
 - C#中使用Redis学习二 在.NET4.5中使用redis hash操作
		
上一篇>> 摘要 上一篇讲述了安装redis客户端和服务器端,也大体地介绍了一下redis.本篇着重讲解.NET4.0 和 .NET4.5中如何使用redis和C# redis操作哈希表. ...
 - 【转】C#中使用Redis学习二 在.NET4.5中使用redis hash操作
		
摘要 上一篇讲述了安装redis客户端和服务器端,也大体地介绍了一下redis.本篇着重讲解.NET4.0 和 .NET4.5中如何使用redis和C# redis操作哈希表.并且会将封装的一些代码贴 ...
 - ***Redis hash是一个string类型的field和value的映射表.它的添加、删除操作都是O(1)(平均)。hash特别适合用于存储对象
		
http://redis.readthedocs.org/en/latest/hash/hset.html HSET HSET key field value (存一个对象的时候key存) 将哈希 ...
 
随机推荐
- 如何删除一个win10的服务
			
使用场景: 之前电脑玩腾讯qq微端游戏,后来卸载残留服务一直在后台占用系统资源.那么如何关闭这个服务呢. 1.首先 管理员运行--cmd.exe 2.打开任务管理器,找到服务名称,如果服务开启可以关闭 ...
 - 一个 Linux 后台程序编程案例分析
			
Linux 下的一个进程打开一个日志文件,不定期地往该文件里写入日志.此时可以在控制台使用 mv 命令给该日志文件改个名字或者用 rm 命令把这个日志文件删除掉.Linux 下是允许这么干的!对于改日 ...
 - Collections集合工具类的常用方法
			
Collections集合工具类的方法 addAll与shuffle import java.util.ArrayList; import java.util.Collections; /* - ja ...
 - c# System.Text.Json 精讲
			
本文内容来自我写的开源电子书<WoW C#>,现在正在编写中,可以去WOW-Csharp/学习路径总结.md at master · sogeisetsu/WOW-Csharp (gith ...
 - JavaScript Sanitizer API:原生WEB安全API出现啦
			
10月18号, W3C中网络平台孵化器小组(Web Platform Incubator Community Group)公布了HTML Sanitizer API的规范草案.这份草案用来解决浏览器如 ...
 - 洛谷 P6672 - [清华集训2016] 你的生命已如风中残烛(组合数学)
			
洛谷题面传送门 题解里一堆密密麻麻的 Raney 引理--蒟蒻表示看不懂,因此决定写一篇题解提供一个像我这样的蒟蒻能理解的思路,或者说,理解方式. 首先我们考虑什么样的牌堆顺序符合条件.显然,在摸牌任 ...
 - 在WEB网页上模拟人的操作(批量操作)
			
思路:selenium IDE网页测试工具+firefox浏览器=>录制网页操作脚本->导出为Perl/python/Ruby/C/R等语言 参考: (1)selenium IDE网页测试 ...
 - Oracle-除了会排序,你对ORDER BY的用法可能一无所知!
			
导读 为什么只有ORDER BY后面可以使用列别名 为什么不推荐使用ORDER BY后接数字来排序 为什么视图和子查询里面不能使用ORDER BY -- 小伙伴们在进行SQL排序时,都能很自然的使用 ...
 - GIFS服务的使用
			
1.安装Samba服务 登录192.168.200.20虚拟机,首先修改主机名,命令如下: [root@nfs-client ~]# hostnamectl set-hostname samba [r ...
 - 11. 关于WIN7 64位系统安装ADS的种种意外情况解决方法
			
安装ADS的环境,以前安装过,觉得应该可以安装呀,没想到,装不上,安装不成功,后来花费好长时间,终于把他装好了,费时费力呀. 特此记录一下,以戒后人.大家安装问题建议整篇看完,再去安装,以防一个问题解 ...