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 ...
随机推荐
- 【oracle案例】ORA-01722
1.1. ORA-01722 日期:2014-06-05 14:09 环境:測试环境 [情景描写叙述] 在数据库的升级过程中,运行SQL> @?/rdbms/admin/catupgrd ...
- 从springmvc启动日志学习
javaee标准中,tomcat等web容器启动时走web.xml 先将各种contex-param 放到servletcontxt中变成parameter,然后开始启动容器,容器对外提供了liste ...
- python基础12 ---函数模块2
函数模块 一.sys函数模块详解 1.sys.argv[x] 功能:从程序外部接受参数,接收的参数个数可以是多个,在程序内部sys.argv吧这些外部参数转换成元组的形式,然后以索引x的方式在内部取出 ...
- Mysql的空值与NULL的区别
Mysql数据库是一个基于结构化数据的开源数据库.SQL语句是MySQL数据库中核心语言.不过在MySQL数据库中执行SQL语句,需要小心两个陷阱. 陷阱一:空值不一定为空 空值是一个比较特殊的字段. ...
- python调用java jython
环境:openjdk8,python2.7,jython2.7jython下载地址 http://www.jython.org/downloads.html 下载完成后,运行下面命令 java ...
- hd acm2045
LELE的RPG难题 析: 假设有N个方格时的涂法是F[N]种.当前边n-1个方格成立时,再加第n种颜色无影响,此时有F[N-1]种涂法,当n-1个方格违法时,即有两个相邻的格子颜色相同,则有n-2个 ...
- hiho一下 第四十九周 题目1 : 欧拉路·一【无向图 欧拉路问题】
题目1 : 欧拉路·一 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 小Hi和小Ho最近在玩一个解密类的游戏,他们需要控制角色在一片原始丛林里面探险,收集道具,并找到最 ...
- LINQ 学习路程 -- 查询操作 OfType
OfType操作根据集合中的元素是否是给定的类型进行筛选 IList mixedList = new ArrayList(); mixedList.Add(); mixedList.Add(" ...
- Future模式实例
Future模式 /** * qccr.com Inc. * Copyright (c) 2014-2016 All Rights Reserved. */ package com.youqianhu ...
- QT 操作数据库SQLite实例
#include "widget.h" #include <QApplication> #include <QtSql> #include <QTex ...