Redis通用命令

Redis的通用命令有:
keys

172.0.0.1:6379> set test1 hello
127.0.0.1:6379> set test2 world
127.0.0.1:6379> keys *test*
1) "test2"
2) "test1"

keys一般不在生产环境使用,生产环境的key-value比较多,会非常慢,redis是单线程,可能会堵塞其他命令。时间复杂度为O(n)。
可以用scan命令。
dbsize
计算key的总数,这是redis内置的一个计算器,时间复杂度为O(1)。

127.0.0.1:6379> mset k1 v1 k2 v2 k3 v3 k4 v4
OK
127.0.0.1:6379> dbsize
(integer) 4
127.0.0.1:6379> sadd myset a b c d e f g
(integer) 7
127.0.0.1:6379> dbsize
(integer) 5

exists
检查key是否存在,存在返回1,不存在返回0

127.0.0.1:6379> set a b
OK
127.0.0.1:6379> exists a
(integer) 1
127.0.0.1:6379> del a
(integer) 1
127.0.0.1:6379> exists a
(integer) 0

del
删除指定key-value,可以同时删除多个,删除成功返回删除的key个数,如果不存在返回0,时间复杂度为O(1)。

127.0.0.1:6379> mset a b test1 hello test2 world
OK
127.0.0.1:6379> del a test1 test2
(integer) 3
127.0.0.1:6379> del a test1 test2
(integer) 0

expire
expire key seconds 设置key在seconds秒后过期,时间复杂度为O(1)。

127.0.0.1:6379> set test1 hello
OK
127.0.0.1:6379> expire test1 20
(integer) 1

ttl
ttl key 查看key剩余的过期时间,时间复杂度为O(1)。

127.0.0.1:6379> ttl test1
(integer) 13
127.0.0.1:6379> ttl test1
(integer) 8
127.0.0.1:6379> ttl test1
(integer) -2
# -2代表key已经不存在了
# 过期后再去查看key值,发现已经不存在了
127.0.0.1:6379> get test1
(nil)

persist
persist key 去掉key的过期时间,时间复杂度为O(1)。

127.0.0.1:6379> set test1 hello
OK
127.0.0.1:6379> expire test1 60
(integer) 1
127.0.0.1:6379> ttl test1
(integer) 56
# 去掉过期时间
127.0.0.1:6379> persist test1
(integer) 1
127.0.0.1:6379> ttl test1
(integer) -1
# -1代表key存在,但是没有过期时间
# 去掉过期时间后即便过期了也没有被删除
127.0.0.1:6379> get test1
"hello"

type
type key 返回key的类型,redis有5种数据结构,所以返回值有string、hash、list、set、zset,如果key不存在的,则返回none,时间复杂度为O(1)。

127.0.0.1:6379> type myset
none
127.0.0.1:6379> sadd myset a b c d e
(integer) 5
127.0.0.1:6379> type myset
set
Image placeholder
ljzdawang
未设置
  92人点赞

没有讨论,发表一下自己的看法吧

推荐文章
redis的常用命令

1,redis安装2,redis的基本指令:3,redis的存储结构之list4,redis的存储结构之Set5,redis的存储结构之zset6,redis的存储结构之hash7,redis的远程访

Git 常用命令

1、已经推送push过的文件,想在以后的提交时忽略此文件,即使本地已经修改过,而且不删除Git远程库中相应文件,后面的Xml/config.xml是要忽略的文件的路径,执行命令: gitupdate-

NPM 常用命令

源: 设置加速源:npmconfigsetregistry=:{uri}可选源:https://registry.npm.taobao.org, 配置: 设置:npmconfigset[--gl

史上最全Oracle数据泵常用命令

导读:expdp和impdp是oracle数据库之间移动数据的工具,本文简单总结了数据泵的常用命令,希望对大家有帮助。前言expdp和impdp是oracle数据库之间移动数据的工具。expdp和

通用高效的数据修复方法:Row level repair

导读:随着大数据的进一步发展,NoSQL数据库系统迅速发展并得到了广泛的应用。其中,ApacheCassandra是最广泛使用的数据库之一。对于Cassandra的优化是大家研究的热点,而Scylla

GORM 中文文档_4.6. 通用数据库接口

GORM提供了从当前的*gorm.DB连接中返回通用的数据库接口的方法DB*sql.DB。 //获取通用数据库对象sql.DB来使用他的db.DB()方法 //Ping db.DB().Ping()

南大通用的“凤凰涅槃”

凤凰涅槃,浴火重生。以这样的主题开会,是一家企业经历过风雨后拥抱未来的自信与决心。6月26日,南大通用GBase召开了合作伙伴大会,这家沉寂了一段时间的老牌国产数据库厂商,经历了去年的动荡,如今在以丁

Redis 命令练习汇总

一、Redis连接与认证 连接参数:ip、端口、连接超时时间,连接成功返回true,否则返回false $ret=$redis->connect('127.0.0.1',6379,30); 密码认

Laravel 中使用 lua 脚本 运行 Redis 命令

官方示例继承ScriptCommand重写getScript方法即可classIncrementExistingKeysByextendsScriptCommand { publicfunctiong

工具分享:Linux tree 命令安装和使用

说明tree命令是一个比较实用文件系统查看工具,如下图,可以阶梯式地罗列某个目录下的所有子目录:如何安装?RHEL/CentOS下:#yuminstalltree-yDebian/Ubuntu, Mi

MongoDB初学者最常用的10个命令

1.登录mongodb 以下命令可以用于登录mongodb数据库,但是需要保证用户你声明的数据库中存在对应的用户和密码 mongo--host--port-u-p--authenticationDat

01.3. Go 命令

Go命令 Go语言自带有一套完整的命令操作工具,你可以通过在命令行中执行go来查看它们: 图1.3Go命令显示详细的信息 这些命令对于我们平时编写的代码非常有用,接下来就让我们了解一些常用的命令。

基于 Laravel 命令行开发 API 代码生成器

1.命令行文件生成 $phpartisanmake:commandApiGenerator 2.编写代码模板 就像你看到的,我使用了php的heredoc方式,不太优雅。开始用的文件方式,但是不支持

Git教程_1.4 起步 - 命令行

Git有多种使用方式。你可以使用原生的命令行模式,也可以使用GUI模式,这些GUI软件也能提供多种功能。在本书中,我们将使用命令行模式。这是因为首先,只有在命令行模式下你才能执行Git的所有命令,而大

15 个 Docker 初学者必须掌握的命令

这篇文章我基本上不会做put操作。如果你认为这些命令缺少了什么其他方面重要的东西,那么你需要自行检查Docker文档(https://docs.docker.com/) pull pull命令和gi

能直接下载了!微软最爽命令行工具登陆Windows 10,GitHub标星已破4万6

乾明发自凹非寺 转自量子位 |公众号QbitAI微软正式放出命令行工具WindowsTerminal。这个在发布之际就引得开发者大呼“WoW!Awesome!MyGod!”,甚至引得不少人当场表态买P

爽到飞起!微软命令行工具发布!引诱开发者叛逃Mac,开源六小时冲上GitHub第二

晓查栗子乾明发自凹非寺转自量子位 |公众号QbitAIWoW!Awesome!MyGod!这是不少抱着Mac参加微软Build大会的开发者,看到命令行工具WindowsTerminal后的第一反应。随

Vue命令行工具vue-cli详解

本文将详细介绍Vue命令行工具vue-cli。概述Vue-cli是Vue官方提供的用于初始化Vue项目的脚手架工具。使用Vue-cli有以下几大优势1、Vue-cli是一套成熟的vue项目架构设计,会

kernel的结构与命令行参数

kernel包结构在RHEL中rpm包是一种cpio格式的压缩文件,它由源文件和元数据(metadata)组成。而在rpm包中kernelrpm比较特殊,是一个只有元数据的包,在元数据中约束了以下的包

Linux下的常见命令总结

一、权限思路:修改权限:----很多文档没有权限需要修改权限1.当命令权限不足时-----sudosudo是用普通用户执行只有管理员才能运行的命令,相比较直接用管理员帐户安全su是切换到root用户(

linux命令

查看有效监听端口netstat-tlnpngnix检查ngnix-t重启ngnix-sreload

使用Go语言在MacOS创建一个自定义的命令行工具

原文链接:https://idoubi.cc/posts/create-a-cli-tool-in-macos/ 使用MacOS做开发的朋友都知道,我们一般会使用Homebrew做软件包管理,经常会用

Jenkins CLI 命令行 v0.0.23

本文首发于:Jenkins中文社区作者:ZhaoXiaojieJenkinsCLI在参加2019年谁是最受欢迎的中国开源软件投票,如果您已经是JenkinsCLI的用户,请点击下面的链接帮忙投上一票。

基于 Redis 的 LBS 尝试

redis3.2版本中增加的最大功能就是对GEO(地理位置)的支持,这对于O2O项目来说,又有了一项实现LBS应用的选择。 主要命令: GEOADD|将指定的地理空间位置(纬度、经度、

PHP 操作 Redis 的基本方法

最近系统性的研究了下redis,准备些一篇redis使用常遇到的问题;包括: redis的基本操作方法。 1redis的连接: //实例化redis $redis=newRedis(); //连接 $