33. Python redis的 hash类型操作 其他常用操作

1.hash 类型操作

import redis
pool = redis.ConnectionPool(host="192.168.48.131", port=6379, db=0)
r = redis.Redis(connection_pool=pool)

#hash类型操作:是一个name对应一个字典

#语法 hset(name, key, value)

#name 对应的hash中设置一个键值对(不存在,则创建键值对;否则,修改键值对)

# 语法参数解释:

name: redis 的 hash名

key:key1 对应hash中的key

value:value1 对应hash中的value

#注意:hsetx(name, key, value),当name对应的hash中不存在当前的key,则创建(相当于添加)。

hget(name,key)

#在name对应的hash中获取根据key获取value

hmset(name,mapping)

#在name对应的hash中批量设置键值对

#参数:

#mapping:字典,如{'k1':'v1','k2','v2'}

#例:

r.hmset('test',{'k1':'v1','k2':'v2'})
print(r.hmget('test','k1','k2'))
#结果
[b'v1', b'v2']

hmget(name,keys,*args)

#在name对应的hash中获取多个key的值

#参数:

#keys:要获取key的集合,如:['k1','k2','k3']

#*args:要获取的key,如:k1,k2,k3

#例:

r.hmset('test',{'k1':'v1','k2':'v2'})
print(r.hmget('test','k1','k2'))   #获取多个值

hgetall(name)

获取name对应hash的所有键值

r.hmset('test',{'k1':'v1','k2':'v2'})
print(r.hgetall('test'))
#结果:
{b'k2': b'v2', b'k1': b'v1'}

hlen(name)

获取name对应的hash中键值的个数

r.hmset('test',{'k1':'v1','k2':'v2'})
print(r.hlen('test'))

hkeys(name):获取name对应的hash中所有的key的值

hvals(name):获取name对应的hash中所有的value的值

#举例:
r.hmset('test',{'k1':'v1','k2':'v2'})
print(r.hkeys('test'))
print(r.hvals('test'))
#结果:
[b'k2', b'k1']
[b'v2', b'v1']

hexists(name,key):检查name对应的hash是否存在当前传入的key

hdel(name,*keys):将name对应的hash中指定key的键值对删除

举例:

r.hmset('test',{'k1':'v1','k2':'v2'})
print(r.exists('test'))
print(r.hdel('test','k1'))
print(r.hmget('test','k1','k2'))

2.其他常用操作

#根据name删除redis中的任意数据类型

delete(*names)

#检测redis的name是否存在

exists(name)

#根据* ?等通配符匹配获取redis的name

keys(pattern='*')

# 为某个name设置超时时间

expire(name ,time)

# 重命名

rename(src, dst)

# 将redis的某个值移动到指定的db下

move(name, db))

# 获取name对应值的类型

type(name)

时间: 2024-08-07 00:16:37

33. Python redis的 hash类型操作 其他常用操作的相关文章

二:redis 的hash类型相关操作

=====================二种:hash类型================== 介绍:redis -> hash是一个string类型的field和value的映射表 hash特别适合对应存储对象,相较于将对象的每个字段存成单个string类型 将一个对象存储在hash类型中会占用更少的内存,并且可以方便的存取整个对象 0:hset *如果 key(就是hash表) 不存在,一个新的哈希表被创建并进行 HSET 操作 设置hash field为指定值,如果key不存在,则先创建

ubuntu命令行操作mysql常用操作

登陆mysql [email protected]:~/ruby/mydiary$ mysql -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. 查看所有的数据库 mysql> show databases; --注意必须要用;结尾否则不会立即执行代码 +--------------------+ | Database | +--------------------+ | inf

直接在安装了redis的Linux机器上操作redis数据存储类型--对key的操作

一.概述: 前几篇博客中,主要讲述的是与Redis数据类型相关的命令,如String.List.Set.Hashes和Sorted-Set.这些命令都具有一个共同点,即所有的操作都是针对与Key关联的Value的.而该篇博客将主要讲述与Key相关的Redis命令.学习这些命令对于学习Redis是非常重要的基础,也是能够充分挖掘Redis潜力的利器. 二.相关命令列表: 命令原型 时间复杂度 命令描述 返回值 KEYS pattern O(N) 时间复杂度中的N表示数据库中Key的数量.获取所有匹

StackExchange.Redis 之 hash 类型示例

StackExchange.Redis 的组件封装示例网上有很多,自行百度搜索即可. 这里只演示如何使用Hash类型操作数据: 1 // 在 hash 中存入或修改一个值 并设置order_hashkey有效期1分钟,过期自动删除:null为不过期 2 stopwatch.Start(); 3 var isok = RedisCacheHelper.Instance.HashSet("order_hashkey", "order_hashfield", "

Redis之-hash类型

hash数据类型的相关命令1,hset命令127.0.0.1:6379> hset user name yuhao(integer) 1127.0.0.1:6379> hset user age 19(integer) 1127.0.0.1:6379> hset user from qinghai(integer) 1127.0.0.1:6379> hgetall user1) "name"2) "yuhao"3) "age&quo

Python 元组和集合的特点及常用操作

一.元组的特点: 1.有序的集合 2.通过偏移来取数据 3.属于不可变的对象,不能在原地修改内容,没有排序,修改等操作. tuple支持的方法很少 >>> dir(tuple) ['__add__', '__class__', '__contains__', '__delattr__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__

Python语法速查: 4. 字符串常用操作

(1)字符串常用方法 Python3中,字符串全都用Unicode形式,所以省去了很多以前各种转换与声明的麻烦.字符串属于序列,所有序列可用的方法(比如切片等)都可用于字符串. 注意:字符串属于不可变序列,所有处理修改字符的方法,都会生成一个新字符串返回,原字符串不会变. 字符串方法 简述 举例或说明 字符串内容检查 s.isalpha() 是否所有字符都为字母 'abc'.isalpha()   # 结果为 True s.islower() 字符串中字母是否都为小写(无视其中的非字母字符) '

python openpyxl 2.5.4 版本 excel常用操作封装

最近搭框架用的openpyxl 2.5.4版本,之前封装的函数有些提示不推荐使用了,我做了一些更新: 代码: # encoding=utf-8 from openpyxl import load_workbookfrom openpyxl.styles import Border, Side, Fontimport time class parseExcel(object):    def __init__(self, excelPath):        self.excelPath = ex

poi 操作excel 常用操作

之前写过一篇类似的文章 这次重新写一下 添加了一些关于样式的代码 package excel; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.lang.reflect.Method; import java.util.