Python-Redis的Hash操作
Redis的hash是一个string类型的field和value的映射表,特别适合用于存储对象,每个hash可以存储40多亿键值对
hset(name, key, value):创建一个name的类别,类别里创建key-value键值对,如果已经存在就修改
hgetall(name):获取name对应的hash中全部的key和value
127.0.0.1:6379> hset info name jack
(integer) 1
127.0.0.1:6379> hset info age 22
(integer) 1
127.0.0.1:6379> hgetall info
1) "name"
2) "jack"
3) "age"
4) "22"
hsetnx(name, key, value):当name对应的hash中不存在当前key时则创建成功(相当于添加)
127.0.0.1:6379> hsetnx info id 11
(integer) 1
127.0.0.1:6379> hsetnx info id 12
(integer) 0
127.0.0.1:6379> hgetall info
1) "name"
2) "jack"
3) "age"
4) "22"
5) "id"
6) "11"
hget(name,key):获取name对应的hash中key的value
127.0.0.1:6379> hgetall info
1) "name"
2) "jack"
3) "age"
4) "22"
5) "id"
6) "11"
127.0.0.1:6379> hget info name
"jack"
127.0.0.1:6379> hget info age
"22"
127.0.0.1:6379> hget info id
"11"
hmset(name, **kwags):在name对应的hash中批量设置键值对
127.0.0.1:6379> hmset language China Chinese US English
OK
127.0.0.1:6379> hgetall language
1) "China"
2) "Chinese"
3) "US"
4) "English"
hmget(name, keys):在name对应的hash中获取多个key的值
127.0.0.1:6379> hgetall info
1) "name"
2) "jack"
3) "age"
4) "22"
5) "id"
6) "11"
127.0.0.1:6379> hmget info name age id
1) "jack"
2) "22"
3) "11"
hlen(name):获取name对应的hash中键值对的个数
127.0.0.1:6379> hgetall info
1) "name"
2) "jack"
3) "age"
4) "22"
5) "id"
6) "11"
127.0.0.1:6379> hlen info
(integer) 3
hkeys(name):获取name对应的hash中所有的key的值
127.0.0.1:6379> hgetall info
1) "name"
2) "jack"
3) "age"
4) "22"
5) "id"
6) "11"
127.0.0.1:6379> hkeys info
1) "name"
2) "age"
3) "id"
hvals(name):获取name对应的hash中所有的value的值
127.0.0.1:6379> hgetall info
1) "name"
2) "jack"
3) "age"
4) "22"
5) "id"
6) "11"
127.0.0.1:6379> hvals info
1) "jack"
2) "22"
3) "11"
hdel(name,*keys):将name对应的hash中指定key的键值对删除
127.0.0.1:6379> hgetall info
1) "name"
2) "jack"
3) "age"
4) "22"
5) "id"
6) "11"
127.0.0.1:6379> hdel info id
(integer) 1
127.0.0.1:6379> hgetall info
1) "name"
2) "jack"
3) "age"
4) "22"
hexists(name, key):判断name对应的hash中是否存在这个key
127.0.0.1:6379> hgetall info
1) "name"
2) "jack"
3) "age"
4) "22"
127.0.0.1:6379> hexists info id
(integer) 0
hincrby(name, key, amount=1):自增name对应的hash中的指定key的值,不存在则创建key=amount,amount为整型
127.0.0.1:6379> hgetall info
1) "name"
2) "jack"
3) "age"
4) "22"
127.0.0.1:6379> hincrby info age 2
(integer) 24
127.0.0.1:6379> hincrby info age 1
(integer) 25
127.0.0.1:6379> hgetall info
1) "name"
2) "jack"
3) "age"
4) "25"
hincrbyfloat(name, key, amount=1.0):自增name对应的hash中的指定key的值,不存在则创建key=amount,amount为浮点型
127.0.0.1:6379> hgetall info
1) "name"
2) "jack"
3) "age"
4) "25"
127.0.0.1:6379> hincrbyfloat info age 1.2
"26.2"
127.0.0.1:6379> hincrbyfloat info age 1.3
"27.5"
127.0.0.1:6379> hgetall info
1) "name"
2) "jack"
3) "age"
4) "27.5"
hscan(name, cursor=0, match=None, count=None):获取name对应的hash中匹配的key
cursor为游标(基于游标分批取获取数据),match为匹配指定key,默认None 表示所有的key,count为每次分片最少获取个数,默认None表示采用Redis的默认分片个数
127.0.0.1:6379> hgetall info
1) "name"
2) "jack"
3) "age"
4) "27.5"
5) "name_1"
6) "john"
7) "age_1"
8) "31"
9) "name_2"
10) "jane"
11) "age_2"
12) "31"
13) "name_3"
14) "Andy"
15) "age_3"
16) "11"
17) "id"
18) "11"
19) "id_1"
20) "22"
21) "id_2"
22) "33"
23) "id_3"
24) "44"
127.0.0.1:6379> hscan info 0 match a* # 匹配以a开头的
1) "0"
2) 1) "age"
2) "27.5"
3) "age_1"
4) "31"
5) "age_2"
6) "31"
7) "age_3"
8) "11"
127.0.0.1:6379> hscan info 0 match *a* # 匹配包含a的
1) "0"
2) 1) "name"
2) "jack"
3) "age"
4) "27.5"
5) "name_1"
6) "john"
7) "age_1"
8) "31"
9) "name_2"
10) "jane"
11) "age_2"
12) "31"
13) "name_3"
14) "Andy"
15) "age_3"
16) "11"
hscan_iter(name, match=None, count=None):为迭代hscan
Python-Redis的Hash操作的更多相关文章
- redis的hash操作在集中式session中的应用
在集群部署时,为了高可用性的目的,往往把session进行共享,共享分为两种:session复制和集中式管理. redis在session集中式管理中可以起到比较大的作用. 制约session集中式共 ...
- python操作redis之hash操作
# __author__ = 'STEVEN' import redis,time #连接池 polls = redis.ConnectionPool(host='192.168.43.22',por ...
- Redis的hash操作
user name lisi age 30 height 175 public class User { private String name; private int age; private i ...
- python连接redis、redis字符串操作、hash操作、列表操作、其他通用操作、管道、django中使用redis
今日内容概要 python连接redis redis字符串操作 redis之hash操作 redis之列表操作 redis其他 通用操作,管道 django中使用redis 内容详细 1.python ...
- 第二百九十六节,python操作redis缓存-Hash哈希类型,可以理解为字典类型
第二百九十六节,python操作redis缓存-Hash哈希类型,可以理解为字典类型 Hash操作,redis中Hash在内存中的存储格式如下图: hset(name, key, value)name ...
- Python --Redis Hash操作
一.Redis Hash操作 Redis 数据库hash数据类型是一个string类型的key和value的映射表,适用于存储对象.Redis 中每个 hash 可以存储 232 - 1 键值对(40 ...
- python之redis和memcache操作
Redis 教程 Redis是一个开源(BSD许可),内存存储的数据结构服务器,可用作数据库,高速缓存和消息队列代理.Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据 ...
- redis对hash进行的相关操作
redis对hash类型操作的相关命令以及如何在python使用这些命令 redis对hash类型操作的命令: 命令 语法 概述 返回值 Redis Hdel 命令 hdel key field [f ...
- python redis操作数据库方法
Redis redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(sorte ...
- python对redis的常用操作 上 (对列表、字符串、散列结构操作)
这里的一切讨论均基于python的redis-py库. 安装使用: pip install redis 然后去获取一个redis客户端: redis_conn = redis.Redis(host=R ...
随机推荐
- Linux内核设计基础(九)之进程管理和调度
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/BlueCloudMatrix/article/details/30799225 在Linux中进程用 ...
- mysql主从复制(windows下)
简单搭建mysql主从服务器(双向复制),仅供学习之用. 1.下载mysql-advanced-5.6.16-winx64.zip 下载完成后解压,重命名成mysql,分别放入两台服务器(看第二点集群 ...
- leetcode 901. Online Stock Span
Write a class StockSpanner which collects daily price quotes for some stock, and returns the span of ...
- [原创]java WEB学习笔记16:JSP指令(page,include),JSP标签(forwar,include,param)
本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...
- [原创]java WEB学习笔记10:GenericServlet
本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...
- 326 集合 ,数据类型的补充 ,copy , 编码之间的转换
一.数据类型补充1,对于元组:如果只有一个元素,并且没有逗号,此元素是什么数据类型,改表达式就是什么数据类型. tu = () tu1 = (,) print(tu,type(tu)) #1 < ...
- Luogu-4048 [JSOI2010]冷冻波
考虑网络流,二分时间,源点向巫妖连流量为攻击次数的边,把每个巫妖向他能打的小精灵连一条流量为一的边,每个小精灵向汇点连一条边. 预处理每个小精灵能被那些巫妖打,这道题好像视线与树相切也算能打(雾. # ...
- EntityFramework 学习 一 Entity Lifecycle 实体生命周期
当我们执行CRUD(Create,Read,Update,Delete)操作之前,最重要的是搞明白实体的生命周期和EntityFrameword怎么管理实体 在一个实体的生命周期里,每个实体都有一个实 ...
- 编码,charset,乱码,unicode,utf-8与net简单释义
1.文件分为文本文件和二进制文件﹐不过本质都一样﹐都是些01. 2.计算机存储设备存储的0或1﹐称为计算机的一个二进制位(bit). 3.二进制文件的0和1有专门的应用程序来读﹐所以它们没有什么乱不乱 ...
- css 动画的例子
1. [代码] <!DOCTYPE HTML><html><head><meta charset="utf-8"><tit ...