python 对redis 键值对的操作
我们可以将Redis中的Hashes类型看成具有String Key和String Value的键值对容器。类似python中的dict,javascript的jaon,java 的map,每一个Hash可以存储4294967295个键值对。
# encoding:utf-8
import redis
import time def main():
"""
redis-cli -h 127.0.0.1 -a test321
"""
redis_host = "127.0.0.1"
redis_password = "test321"
redis_cli = redis.StrictRedis(host=redis_host, password=redis_password)
try:
key = "TEST_KEY_1484"
# string
print redis_cli.delete(key)
print redis_cli.hset(key, "test1", 1) # 设置 key={test1:1}
print redis_cli.hget(key, "test1") # 获取key[test1]
print redis_cli.hexists(key, "test1") # 是否存在key[test1]
print redis_cli.hset(key, "test2", 2) # 设置 key={test2:2}
print redis_cli.hlen(key) # 查看key下的键值对数量
print redis_cli.hdel(key, "test1", "test2") # 批量删除key下的键,返回实际删除的键数量
print redis_cli.hlen(key) # 查看key下的键值对数量
print redis_cli.hexists(key, "test1") # 是否存在key[test1]
print redis_cli.hsetnx(key, "test1", 1) # 设置 key={test1:1}
print redis_cli.hsetnx(key, "test1", 1.11) # 如果key[test1]已存在设置失败
print redis_cli.hget(key, "test1") # 获取key[test1]
print redis_cli.hincrby(key, "test1", 2) # 设置 key[test1] 累加2
print redis_cli.hget(key, "test1") # 获取key[test1]
print redis_cli.hset(key, "test2", 2) # 设置 key={test2:2}
print redis_cli.hgetall(key) # 获取key,得到dict对象
print redis_cli.hkeys(key) # 获取key下的所有键,得到list对象
print redis_cli.hvals(key) # 获取key下的所有值,得到list对象
print redis_cli.hmget(key, "test1", "test2") # 批量获取key下的指定键,得到list对象
print redis_cli.hmset(key, {"test3": 3, "test4": 4}) # 批量设置键值,无则添加,有则覆盖,
print redis_cli.hgetall(key)
except Exception as e:
print e.message
finally:
print redis_cli.delete(key)
return None if __name__ == "__main__":
main()
github:https://github.com/luohuaizhi/test/blob/master/testRedisDict.py
python 对redis 键值对的操作的更多相关文章
- redis键值操作
1.1. redis键值操作 1.1.1. keys patten 查询相应的key 可以精确的查,也可以模糊的查 1.1.1.1. 通配符:* ? [] 在redis里,模糊查询key的时候有3个通 ...
- redis 键值对 有效期设置
redis 键值对 有效期设置redis中可以使用expire命令设置一个键的生存时间, 到时间后redis会自动删除它<-----> 类比于javaweb系统临时数据 过期删除功能 ex ...
- Python 字典(键值对)
Python 字典(键值对) 创建字典 特性:字典中的键不能变,而且唯一 格式:变量名={"键1":值1,"键2":值2} 函数 作用 dict() 强制转换为 ...
- mybatis 08: 返回主键值的insert操作 + 利用UUID获取字符串(了解)
返回主键值的insert操作 应用背景 图示说明 在上述业务背景下,涉及两张数据表的关联操作:用户表 + 用户积分表 传统操作:在对用户表执行完插入语句后,再次查询该用户的uid,将该uid作为外键, ...
- Redis 使用 Eval 多个键值自增操作示例
在PHP上使用Redis 给多个键值进行自增,示例如下: $set['money'] = $this->redis->hIncrByFloat($key, $hour .'_money', ...
- 7.Redis键值对数据库
1.Redis的安装以及客户端连接 安装:apt-get install redis-server 卸载:apt-get purge --auto-remove redis-server 启动:red ...
- Redis键值设计(转载)
参考资料:https://blog.csdn.net/iloveyin/article/details/7105181 丰富的数据结构使得redis的设计非常的有趣.不像关系型数据库那样,DEV和DB ...
- Redis 键值数据类型及基本操作
到目前为止,Redis 支持的键值数据类型如下: 字符串(String) 哈希(Map) 列表(list) 集合(sets) 有序集合(sorted sets) 1. String 字符串类型 s ...
- Spark 键值对RDD操作
键值对的RDD操作与基本RDD操作一样,只是操作的元素由基本类型改为二元组. 概述 键值对RDD是Spark操作中最常用的RDD,它是很多程序的构成要素,因为他们提供了并行操作各个键或跨界点重新进行数 ...
随机推荐
- Python网络编程UDP服务器与客服端简单例子
[转载] https://blog.csdn.net/hu330459076/article/details/7868028 UDP服务器代码: #!/usr/bin/env python # -*- ...
- Servlet中如何获取用户提交的查询参数或表单数据?
①HttpServletRequest的getParameter()方法. ②HttpServletRequest的getParameterValues()方法. ③HttpServletReques ...
- Java线程的优先级设置遵循什么原则?
Java线程的优先级设置遵从下述原则: (1) 线程创建时,子线程继承父线程的优先级 (2) 线程创建后,可在程序中通过调用setPriority( )方法改变线程的优先级 (3) 线程的优先级是1~ ...
- 函数传递是如何让HTTP服务器工作的
var http = require("http"); http.createServer(function(request, response) { response.write ...
- 转帖 移动前端开发之viewport的深入理解
在移动设备上进行网页的重构或开发,首先得搞明白的就是移动设备上的viewport了,只有明白了viewport的概念以及弄清楚了跟viewport有关的meta标签的使用,才能更好地让我们的网页适配或 ...
- 浅谈Java反射与框架
Java反射 1.示例 1.用户类 package com.lf.entity; import com.lf.annotation.SetProperty; import com.lf.annotat ...
- visual Studio如何使用断点调试程序?
1.在想要添加断点的地方右侧点击,点击成功后会出现红色原点. 2.启动程序,当进行到断点处时,程序会停止,然后可以看到一个黄色的小箭头在断点处 3.快捷键F10:进行下一句代码 4.快捷键F11:进入 ...
- SSH出错
[root@node01 ~]# ssh node02 ssh_exchange_identification: Connection closed by remote host 修改连接数无效 [r ...
- Vue.js(六)
路由(用 Vue.js + Vue Router 创建单页应用) <script src="https://unpkg.com/vue-router/dist/vue-router.j ...
- PHP发送公众号模板消息
<?php /* * 模板消息发送,电脑端测试时需要手动填写openid * 微信端会自动获取当前openid发送无需填写 */ header("Content-type: text/ ...