redis 学习(二)-- 通用命令

1. keys pattern

含义:查找所有符合给定模式(pattern)的key

命令 含义
keys * 遍历所有 key
keys he[h-l]* 遍历以he开头,第三个字符为h-l之间的所有key
keys ph? ?代表一个字符
keys he* 匹配所有以 he 开头的 key
dbsize 计算 key 的总数

注意:keys命令一般不在生产环境中使用

  • 生产环境的key比较多,keys这个命令是一个O(n)的命令
  • 由于Redis是单线程的,这个命令的操作会阻塞其他操作
  • 可以在从节点上执行keys命令
  • 使用SCAN命令代替keys命令

演示

keys *
dbsize

keys he*
keys he[h-l]*
keys ph?

2. exists key

含义:检查给定的key是否存在

存在返回 1,不存在返回 0 。

3. del key1 [key2...]

含义:在 key 存在时删除 key

存在返回 1, 不存在返回 0 。

4. expire key second、ttl key、persist key、

命令 含义
expire key second 为给定 key 设置过期时间,单位为秒
ttl key 以秒为单位,返回给定key的剩余生存时间(TTL , time to live)。不存在 key 返回 -2 ,无过期时间的 key 返回-1
persist key 移除 key 的过期时间,key 将持久保存

5. type

返回 key 所存储的值的类型

不存在的 key 返回none

时间复杂度

命令 时间复杂度
keys O(n)
dbsize O(1)
del O(1)
exists O(1)
expire O(1)
type O(1)

可以看到,keys 的时间复杂度为 O(n),所以是并不适合实际使用的。

redis 学习(二)-- 通用命令的更多相关文章

  1. Redis 学习(二) —— 数据类型及操作

    Redis支持string.list.set.zset.hash等数据类型,这一篇学习redis的数据类型.命令及某些使用场景. 一.String,字符串 字符串是 Redis 最基本的数据类型.一个 ...

  2. 3年Java开发都知道的Redis数据结构和通用命令

    Redis的数据结构 Redis支持多种不同的数据结构,包括5种基础数据结构和几种比较复杂的数据,这些数据结构可以满足不同的应用场景. 五种基础数据结构 String:字符串,是构建其他数据结构的基础 ...

  3. redis学习(二)

    深入了解redis字符串,列表,散列和有序集合命令,了解发布,订阅命令和其他命令.   一,字符串   1.字符串可以存储3种类型的值 字符串,整数,浮点数 2.运算命令列表 incr : incr ...

  4. 高可用Redis(一):通用命令,数据结构和内部编码,单线程架构

    1.通用API 1.1 keys命令和dbsize命令 keys * 遍历所有key keys [pattern] 遍历模式下所有的key dbsize 计算Redis中所有key的总数 例子: 12 ...

  5. Redis学习二:Redis入门介绍

    一.入门概述 1.是什么 Redis:REmote DIctionary Server(远程字典服务器) 是完全开源免费的,用C语言编写的,遵守BSD协议,是一个高性能的(key/value)分布式内 ...

  6. Redis学习笔记-常用命令篇(Centos7)

    redis提供了丰富的命令,这些命令可以在linux终端使用.在各类语言中,这些命令都有对应的方法. 一.键值相关 1.keys 返回满足给定pattern的所有key 127.0.0.1:6379& ...

  7. C#中使用Redis学习二 在.NET4.5中使用redis hash操作

    上一篇>> 摘要 上一篇讲述了安装redis客户端和服务器端,也大体地介绍了一下redis.本篇着重讲解.NET4.0 和 .NET4.5中如何使用redis和C# redis操作哈希表. ...

  8. Redis学习笔记--常用命令

    以下为本人学习Redis的备忘录,记录了大部分常用命令 1.客户端连接redis服务端: ===启动Redis服务端 redis-server /yourpath/redis.conf ===启动Re ...

  9. Redis 学习之常用命令及安全机制

    该文使用centos6.5 64位    redis3.2.8 一.redis常用命令 键值常用命令: 1. keys 返回满足pattern的所有key. 127.0.0.1:6379> ke ...

  10. Redis学习二:Redis高并发之主从模式

    申明 本文章首发自本人公众号:壹枝花算不算浪漫,如若转载请标明来源! 感兴趣的小伙伴可关注个人公众号:壹枝花算不算浪漫 22.jpg 前言 前面已经学习了Redis的持久化方式,接下来开始学习Redi ...

随机推荐

  1. C++模板的偏特化与全特化

    模板的声明 类模板和函数模板的声明方式是一样的,在类定义/模板定义之前声明模板参数列表.例如: // 类模板 template <typename T1, typename T2> cla ...

  2. Git常用命令详解

    1.创建版本库 git clone <url> #克隆远程版本库 git init #初始化本地版本库 通过 ls -ah 可以看到隐藏的.git目录 2.修改和提交 添加文件readme ...

  3. Leetcode题目20.有效的括号(简单)

    题目描述: 给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效. 有效字符串需满足: 左括号必须用相同类型的右括号闭合.左括号必须以正确的顺序闭合.注意空字符 ...

  4. win10备忘

    你要允许来自未知发布者 http://www.xitonghe.com/jiaocheng/Windows10-7809.html输入法 切换繁体 ctrl+shift+F win10 输入法 htt ...

  5. phpStrom破解 + Your license has expired

    找到 C:\Windows\System32\drivers\etc 的 hosts文件在最后加上"0.0.0.0 account.jetbrains.com" 然后点击获取注册码 ...

  6. leetcode-hard-ListNode-23. Merge k Sorted Lists

    mycode   91.2% # Definition for singly-linked list. # class ListNode(object): # def __init__(self, x ...

  7. 在WPF中使用AForge控件

    AForge.NET 是用C#写的一个关于计算机视觉和人工智能领域的框架,它包括图像处理.神经网络.遗传算法和机器学习等. 要实现视频功能,需要使用AForge.Controls命名空间中的Video ...

  8. CSS中 Padding和Margin两个属性的详细介绍和举例说明

    代码示例: <!doctype html> <html lang="en"> <head> <meta charset="UTF ...

  9. vue 登录路由判断

    router.beforeEach((to, from, next) => { // alert(sessionStorage.getItem('accessToken')) // consol ...

  10. Selenium 2自动化测试实战30(unittest补充)

    unittest补充 1.用例执行的顺序 #test.py #coding:utf-8 from Demo1 import Count import unittest class TestBdd(un ...