redis对键操作的相关命令以及如何在python使用这些命令

redis对键操作的命令:

命令

语法

概述

返回值

Redis DEL 命令

del key [key ...]

该命令用于在 key 存在时删除 key。

返回被删除键的数量

Redis Dump 命令

dump key_name

序列化给定 key ,并返回被序列化的值。

返回序列化后的值

Redis EXISTS 命令

exists key [key ...]

检查给定 key 是否存在

若 key 存在返回 1 ,否则返回 0 。

Redis Expire 命令

expire key seconds

为给定 key 设置过期时间,以秒计。

设置成功返回 1 。 当 key 不存在或者不能为 key 设置过期时间时返回0

Redis Expireat 命令

expireat key timestamp

为给定 key 设置过期时间,UNIX 时间戳(unix timestamp)。

设置成功返回 1 。 当 key 不存在或者不能为 key 设置过期时间时返回 0 。

Redis PEXPIREAT 命令

pexpire key milliseconds

设置 key 的过期时间以毫秒计

设置成功返回 1 。 当 key 不存在或者不能为 key 设置过期时间时返回 0 。

Redis PEXPIREAT 命令

pexpireat key milliseconds-timestamp

设置 key 过期时间的时间戳(unix timestamp) 以毫秒计

设置成功返回 1 。 当 key 不存在或者不能为 key 设置过期时间时返回 0 。

Redis Keys 命令

keys pattern

查找所有符合给定模式( pattern)的 key 。

返回符合给定模式的 key

Redis Move 命令

move key db

将当前数据库的 key 移动到给定的数据库 db 当中

移动成功返回 1 ,失败则返回 0

Redis PERSIST 命令

persist key

移除 key 的过期时间,key 将持久保持

当过期时间移除成功时,返回 1 。

如果 key 不存在或 key 没有设间,返回 0

Redis Pttl 命令

pttl key

以毫秒为单位返回 key 的剩余的过期时间。

当 key 不存在时,返回 -2 。 当 key 存在但没有设置剩余生存时

间时,返回 -1 。 否则,以毫秒为单位,返回 key 的剩余生存时间。

Redis TTL 命令

ttl key

以秒为单位,返回给定 key 的剩余生存时间(TTL, time to live)

当数据库不为空时,返回一个 key 。 当数据库为空时,返回 nil

Redis RANDOMKEY 命令

randomkey

从当前数据库中随机返回一个 key 。

改名成功时提示 OK ,失败时候返回一个错误。
当 OLD_KEY_NAME 不存在时,返回一个错误。 当 NEW_KEY_NAME 已经存在时, RENAME 命令将覆盖旧值。

Redis Rename 命令

rename key newkey

修改 key 的名称

改名成功时提示 OK ,失败时候返回一个错误.
当 OLD_KEY_NAME 不存在时,返回一个错误。 当 NEW_KEY_NAME 已经存在时, RENAME 命令将覆盖旧值。

Redis Renamenx 命令

renamenx key newkey

仅当 newkey 不存在时,将 key 改名为 newkey 。

修改成功时,返回 1 。 如果 NEW_KEY_NAME 已经存在,返回 0  当OLD_KEY_NAME 不存在时,返回错误ERR no such key

Redis Type 命令

type key

返回 key 所储存的值的类型

返回 key 所储存的值的类型。none (key不存在)  string (字符串)  list (列表)  set (集合)  zset (有序集)  hash (哈希表)

在python中对键操作:

# -*- coding: utf-8 -*-

import redis

# 连接本地的redis

r = redis.Redis(host="127.0.0.1",port=6379)

1. delete DEL 命令用于删除已存在的键。不存在的 key 会被忽略

print(r.set('1', 'hello redis')) # set 设置指定 key 的值, 如果设置正确返回 True

print(r.get('1'))# 得到 键为1 的值    #  hello redis
print(r.delete('1')) # 删除 键为1 的值 print(r.get('1')) # 因为上面已经把键为1 的值删除掉,所以返回的是None

  

2. exists

# 设定键为2的值是  hello redis
r.set('2', 'hello redis')
# 存在就返回True 不存在就返回False
print(r.exists('2')) # 返回True
print(r.exists('33')) # 返回False

3. Expire 命令用于设置 key 的过期时间。key 过期后将不再可用。

r.set('2', 'hello redis')
# 成功就返回True 失败就返回False,下面的20表示是20秒
print(r.expire('2',20))
# 如果时间没事失效我们能得到键为2的值,否者是None
print(r.get('2'))

4. Expireat 命令用于以 UNIX 时间戳(unix timestamp)格式设置 key 的过期时间。key 过期后将不再可用。主意:时间精确到秒,时间戳是10为数字

r.set('2', 'hello redis')
# 成功就返回True 失败就返回False,下面的1598033936表示时间戳
print(r.expireat('2',1598026546))
print(r.get('2'))

5.PEXPIREAT 命令用于设置 key 的过期时间,已毫秒技。key 过期后将不再可用。主意:时间精确到毫秒,时间戳是13位数字

r.set('2', 'hello redis')
#成功就返回True 失败就返回False。
print(r.expireat('2',1598666972100))
print(r.get('2'))

6. Keys 命令用于查找所有符合给定模式 pattern 的 key 。

print(r.set('111', '11'))
print(r.set('122', '12'))
print(r.set('113', '13'))
print((r.keys(pattern='11*'))
# 输出的结果是 ['113', '111'] 因为键122不和 11* 匹配

7. MOVE 命令用于将当前数据库的 key 移动到给定的数据库 db 当中,select可以设定当前的数据库,如有需要请看select命令
因为我们默认使用的数据库是db0,我们可以使用下面的命令键 2 移动到数据库 1 中去

r.move(2,1)

8. PERSIST 命令用于移除给定 key 的过期时间,使得 key 永不过期

# 设定键为 1 的值为11
print(r.set('1', '11'))
# 设定键 1 过期时间为100秒
print(r.expire(1,100))
# 查看键 1 的过期时间还剩下多少
print(r.ttl('1'))
# 目的是13秒后移除键 1 的过期时间
import time
time.sleep(3)
# 查看键 1 的过期时间还剩下多少
print(r.ttl('1'))
#移除键 1 的过期时间
r.persist(1)
# 查看键 1 的过期时间还剩下多少 输出的结果是 None,我们可以通过redis desktop manager 查看键 1 的过期时间
print(r.ttl('1'))

9.   Pttl 命令以毫秒为单位返回 key 的剩余过期时间。

# 当 key 不存在时,返回 -2 。 当 key 存在但没有设置剩余生存时间时,返回 -1 。 否则,以毫秒为单位,返回 key 的剩余生存时间。
# 设定键为 1 的值为11
print(r.set('1', '11'))
#设定键 1 过期时间为100秒
print(r.expire(1,100))
import time
time.sleep(3)
#返回的结果是 96994 ,运行的结果不是固定的,大于是97秒钟,主意是为了展示出返回的结果是毫秒,一秒等于1000毫秒
print(r.pttl('1'))

10.   TTL 命令以秒为单位返回 key 的剩余过期时间。

# 当 key 不存在时,返回 -2 。 当 key 存在但没有设置剩余生存时间时,返回 -1 。 否则,以毫秒为单位,返回 key 的剩余生存时间。
#设定键为 1 的值为11
print(r.set('1', '11'))
print r.expire(1,100) #设定键 1 过期时间为100秒
import time
time.sleep(3)
print(r.ttl('1')) #返回的结果是 97
print(r.ttl('123')) #因为键 123 不存在 所以返回的结果是None

11.RANDOMKEY 命令从当前数据库中随机返回一个 key。当数据库不为空时,返回一个 key 。 当数据库为空时,返回 nil 。

print(r.randomkey()) # 数据库返回的是默认的数据库 key

12 .Rename 命令用于修改 key 的名称 。改名成功时提示 OK ,失败时候返回一个错误。

print(r.rename(1,1111)) #修改成功返回 True
print(r.rename(222,1111)) #如果key 不存在 修改失败返回 redis.exceptions.ResponseError: no such key

13. Renamenx 命令用于在新的 key 不存在时修改 key 的名称 。

print(r.exists(123123)) # 返回false
print(r.renamenx(1111,123123)) # 成功返回True
print(r.renamenx(1111,123123)) # 失败返回 redis.exceptions.ResponseError: no such key

14. Type 命令用于返回 key 所储存的值的类型

# 返回 key 的数据类型,数据类型有:none (key不存在),string (字符串),list (列表),set (集合),zset (有序集),hash (哈希表),
print (r.set('1',"111111111"))
print (r.type('1')) # 返回的结果是string print r.sadd('2','222222222222')
print r.type('2') #返回的结果是set print r.lpush('3','33333333')
print r.type('3') #返回的结果是list

redis对键进行的相关操作的更多相关文章

  1. redis对sorted_set进行的相关操作

    redis对sorted_set(有序集合)类型操作的相关命令以及如何在python使用这些命令 redis对sorted_set(有序集合)类型操作的命令: 命令 语法 概述 返回值 Redis Z ...

  2. redis对list进行的相关操作

    redis对list类型进行的相关操作以及如何在python使用 redis对list类型操作的命令: 命令 语法 概述 返回值 Redis Blpop 命令 BLPOP key1 [key2 ] t ...

  3. redis对string进行的相关操作

    redis对string类型操作的相关命令以及如何在python使用这些命令 redis对string类型操作的命令: 命令 语法 概述 返回值 Redis SET 命令  set key value ...

  4. redis对hash进行的相关操作

    redis对hash类型操作的相关命令以及如何在python使用这些命令 redis对hash类型操作的命令: 命令 语法 概述 返回值 Redis Hdel 命令 hdel key field [f ...

  5. redis对set(无序集合)的相关操作

    redis对set类型(无序集合)操作的相关命令以及如何在python使用这些命令 redis对set类型操作的命令: 命令 语法 概述 返回值 Redis Sadd 命令 sadd key memb ...

  6. [Redis]Redis的五种数据类型与键值/服务器相关命令

    -------------------------------------------------------------------------------------- String(字符串):最 ...

  7. openresty 学习笔记三:连接redis和进行相关操作

    openresty 学习笔记三:连接redis和进行相关操作 openresty 因其非阻塞的调用,令服务器拥有高性能高并发,当涉及到数据库操作时,更应该选择有高速读写速度的redis进行数据处理.避 ...

  8. 深入理解Redis主键失效原理及实现机制

    http://blog.jobbole.com/71095/ 对于缓存失效,不同的缓存有不同的处理机制,可以说是大同中有小异,作者通过对Redis 文档与相关源码的仔细研读,为大家详细剖析了 Redi ...

  9. Redis 安装,配置以及数据操作

    Nosql介绍 Nosql:一类新出现的数据库(not only sql)的特点 不支持SQL语法 存储结构跟传统关系型数据库中那种关系表完全不同,nosql中存储的数据都是k-v形式 Nosql的世 ...

随机推荐

  1. mkdir(): Permission denied

    记录下,凡是遇到此类问题都是无权限导致. 根据不同场景,需要在不同的文件夹设置不同的权限. 例如,图片相关, 在php中,首先看下 配置php.ini的文件上传是否开启(file_uploads = ...

  2. python11 函数的定义,调用,分类

    ## 复习 #一.什么是函数:具体特定功能的代码块 - 特定功能代码块作为一个整体,并给该整体命名,就是函数 # 二.函数的优点:# 1.减少代码的冗余# 2.结构清晰,可读性强# 3.具有复用性,开 ...

  3. 深入剖析Kubernetes学习笔记:容器基础(05-06)

    05 :从进程说起 1.容器本身没有价值,有价值的是"容器编排" 2.什么是进程? 一旦"程序"被执行起来,它就从磁盘上的二进制文件,变成 1.计算机内存中的数 ...

  4. HttpClient在多线程环境下踩坑总结

    问题现场 在多线程环境下使用HttpClient组件对某个HTTP服务发起请求,运行一段时间之后发现客户端主机CPU利用率呈现出下降趋势,而不是一个稳定的状态. 而且,从程序日志中判断有线程处于han ...

  5. Turtle库的学习积累

    1.什么是turtle库 Python的Turtle库是一个直观有趣的图形绘制函数库,Turtle英文翻译过来是乌龟的意思,在绘图时可以想象成一只乌龟在移动. 2.绘图坐标体系 海龟的移动方向 3.绘 ...

  6. hash(散列函数)

    一直对哈希不太理解,今天上网搜了一下,总结出以下几点,希望可以对大家的理解有所帮助 1)概念 哈希就是把任意长度的输入(又叫做预映射pre-image)通过散列算法变换成固定长度的输出,该输出就是散列 ...

  7. word20170104办签证 Visa application有用的词和句子

    有用的词:visa category: 签证类型tourist visa: 旅游签证visa interview: 签证面试multiple entries: 多次往返visa on arrival: ...

  8. jetty切换tomcat中文乱码

    项目中文在jetty下正常,换tomcat下出现乱码. 问题是web.xml中的encodingFilter不是第一个,要设置为第一个 <filter> <filter-name&g ...

  9. Linux中查看端口占用情况

    1.lsof -i:端口号 用于查看某一端口的占用情况,比如查看8000端口的使用情况: # lsof -i:8000 2.netstat -tunlp | grep 端口号,用于查看指定的端口号的进 ...

  10. 吴恩达《机器学习》编程作业——machine-learning-ex1:线性回归

    ❄❄❄❄❄❄❄❄[回到目录]❄❄❄❄❄❄❄❄ 本次编程作业中,需要完成的代码有如下几部分: [⋆] warmUpExercise.m - Simple example function in Octa ...