热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

redis基础命令详解

redis命令详解(字符串)文章目录redis命令详解(字符串)1.基础命令举例2.redis基础命令详解1.2.redis

redis命令详解(字符串)


文章目录

  • redis命令详解(字符串)
    • 1.基础命令举例
    • 2.redis基础命令详解
      • 1.2.redis-cli命令
      • 1.3.命令中的加减
      • 1.4.mset和mget命令
      • 1.5.EXISTS命令
      • 1.6.del、ttl、EXPIRE、PERSIST命令


1.基础命令举例

#这边先举例一下下面要详细去将的命令
#可以查询库里面所有的key,数据量比较庞大不建议使用这个命令
keys *#进行创建key的命令和赋值,mset可以批量创建
set
mset#对key进行查询和批量查询
get
mget#对key中的数字进行加减和指定加减,incrby、decrby可以选择加减的数量
incr
incrby
decr
decrby#DBSIZE可以查询出目前有多少个key#EXISTS命令可以查询key是否存在,在数量特别多的情况下可以代替keys去查询
EXISTS#del删除命令
del删除某一个key(键)#ttl查询key的失效时间#EXPIRE、PERSIST命令,默认使用set、mset或者其他方式插入的数据是永不失效
可以设置key的失效时间和设置为永不失效
#可以看下面的命令详细解释和案例

2.redis基础命令详解


  • 首先我们先开启redis的服务

[root@localhost ~]# redis-server /opt/redis_cluster/redis_6379/conf/redis_6379.conf

  • 然后查看服务是否正常启动

[root@localhost ~]# ps -ef |grep redis
root 3137 1 0 15:12 ? 00:00:00 redis-server 127.0.0.1:6379
root 3544 3073 0 15:28 pts/1 00:00:00 grep --color=auto redis

  • 连接到redis中

[root@localhost ~]# redis-cli
127.0.0.1:6379> #redis中输入命令会自动有补全的提示
#查询目前数据库中所有的数据命令
127.0.0.1:6379> keys * #第一次查询会提示这个,这是因为刚创建所以是没有数据存入的
127.0.0.1:6379> keys *
(empty list or set)

  • 当你数量命令的时候redis会自动出现后续语法的提示

请添加图片描述

#可以通过命令去写入数据
#举例这种写入的方法就是,a1是key(表),表中的数据是a
127.0.0.1:6379>set a1 a#举例查询命令,使用get命令去查询a1这个表就会反馈表中的内容
127.0.0.1:6379> get a1
"a"#同理使用,keys命令查询全部就是有a1这个表的信息了
127.0.0.1:6379> KEYS *
1) "a1"

1.2.redis-cli命令


  • 刚才举例的是连接到数据库中之后执行命令就进行查询

#redis-cli命令也是支持在命令行直接查询的
[root@localhost ~]# redis-cli get a1
"a"

  • 下面我们举例一下如果往里面插入的数据特别多的情况下的存储情况

#举例,我们这边也是编写了一个中文的文档,内容不重要我们现在把他存入在redis中
[root@localhost ~]# vim test.txt
[root@localhost ~]# cat test.txt
世事如书,我偏爱你这一句,愿做个逗号,待在你脚边。但你有自己的朗读者,而我只是个摆渡人#我们通过变量的方法去给他导入到redis的库中,导入的时候文字间不要有空格,不然可能导入失败
[root@localhost ~]# redis-cli set txt $(cat test.txt)
OK#中文存储到数据库中是字符串格式的
[root@localhost ~]# redis-cli get txt
"\xe4\xb8\x96\xe4\xba\x8b\xe5\xa6\x82\xe4\xb9\xa6\xef\xbc\x8c\xe6\x88\x91\xe5\x81\x8f\xe7\x88\xb1\xe4\xbd\xa0\xe8\xbf\x99\xe4\xb8\x80\xe5\x8f\xa5\xef\xbc\x8c\xe6\x84\xbf\xe5\x81\x9a\xe4\xb8\xaa\xe9\x80\x97\xe5\x8f\xb7\xef\xbc\x8c\xe5\xbe\x85\xe5\x9c\xa8\xe4\xbd\xa0\xe8\x84\x9a\xe8\xbe\xb9\xe3\x80\x82\xe4\xbd\x86\xe4\xbd\xa0\xe6\x9c\x89\xe8\x87\xaa\xe5\xb7\xb1\xe7\x9a\x84\xe6\x9c\x97\xe8\xaf\xbb\xe8\x80\x85\xef\xbc\x8c\xe8\x80\x8c\xe6\x88\x91\xe5\x8f\xaa\xe6\x98\xaf\xe4\xb8\xaa\xe6\x91\x86\xe6\xb8\xa1\xe4\xba\xba"#举例,我们把库中的数据给导入到一个文件中
[root@localhost ~]# redis-cli get txt > 1.txt#导出的数据还是中文
[root@localhost ~]# cat 1.txt
世事如书,我偏爱你这一句,愿做个逗号,待在你脚边。但你有自己的朗读者,而我只是个摆渡人

  • DBSIZE命令

#在生产环境中建议不少使用
127.0.0.1:6379>keys * #这个命令如果数据量过大可能会导致redis挂掉#这个命令可以查询当前有多少个key
127.0.0.1:6379> DBSIZE
(integer) 2

1.3.命令中的加减

#举例,这边的nu是我创建的key的名字
#INCR、INCRBY只对数字有效
#INCR nu 命令后面跟上key,就可以对数字进行加一
#INCRBY nu 10命令加上key,和所加的数字大小对内容进行增加
#TYPE nu可以判断key的格式,string为字符串127.0.0.1:6379> set nu 1 #创建一个key内容为1
OK127.0.0.1:6379> get nu #查询key的内容
"1"127.0.0.1:6379> INCR nu #使用命令对key进行加1
(integer) 2127.0.0.1:6379> get nu #查询key的内容
"2"127.0.0.1:6379> INCRBY nu 10 #使用命令对key进行加10
(integer) 12127.0.0.1:6379> get nu #查询key的内容
"12"127.0.0.1:6379> TYPE nu #查询key的类型
string

  • redis进行减法的命令

#举例DECR、DECRB就是对字符串进行减法的
127.0.0.1:6379> DECR nu
(integer) 1127.0.0.1:6379> DECRBY nu 10
(integer) 2

1.4.mset和mget命令

#mset和mget是可以批量去赋值创建key的命令
#set和get只能查询和创建单个的字符串
127.0.0.1:6379> MSET k1 v1 k2 v2 k3 v3
OK
127.0.0.1:6379> KEYS *
1) "k1"
2) "k2"
3) "k3"
4) "a1"
5) "txt"
6) "nu"#mget操作举例
127.0.0.1:6379> mget k1 k2 k3
1) "v1"
2) "v2"
3) "v3"

1.5.EXISTS命令

# KEYS *命令查询的时候如果数量别特庞大容易死机,我们可以使用EXISTS命令查询
#举例EXISTS是查询这个key是否存在,返回1是存在0是不存在
127.0.0.1:6379> EXISTS a(integer) 0
#这个输出就证明这个key存在
127.0.0.1:6379> EXISTS k1
(integer) 1

1.6.del、ttl、EXPIRE、PERSIST命令

#举例del key
#del是删除命令,这边是删除了k1
127.0.0.1:6379> del k1
(integer) 1
127.0.0.1:6379> get k1
(nil)#举例ttl key
#ttl 可以查看key的过期时间,默认的话是永不过期,就是使用set、mset或者其他方式写入的数据会一直存在reidis数据库中
#输出的值-1表示永不过期
127.0.0.1:6379> ttl k2
(integer) -1#举例EXPIRE key(失效时间)这个命令的键失效时间是秒为单位
#我这边设置的失效时间是10秒
127.0.0.1:6379> EXPIRE k3 10(秒)
(integer) 1#在查询的ttl显示为-2表示数据已经删除,get也查不到数据,设置这个失效时间要注意
127.0.0.1:6379> ttl k3
(integer) -2
127.0.0.1:6379> get k3
(nil)#举例PERSIST命令是把key设置为永不过期
#set再次创建key也可以覆盖为永不过期
127.0.0.1:6379> PERSIST k2
(integer) 1
127.0.0.1:6379> ttl k2
(integer) -1询的ttl显示为-2表示数据已经删除,get也查不到数据,设置这个失效时间要注意
127.0.0.1:6379> ttl k3
(integer) -2
127.0.0.1:6379> get k3
(nil)#举例PERSIST命令是把key设置为永不过期
#set再次创建key也可以覆盖为永不过期
127.0.0.1:6379> PERSIST k2
(integer) 1
127.0.0.1:6379> ttl k2
(integer) -1

推荐阅读
  • 服务器部署中的安全策略实践与优化
    服务器部署中的安全策略实践与优化 ... [详细]
  • 本文详细介绍了使用 Python 进行 MySQL 和 Redis 数据库操作的实战技巧。首先,针对 MySQL 数据库,通过 `pymysql` 模块展示了如何连接和操作数据库,包括建立连接、执行查询和更新等常见操作。接着,文章深入探讨了 Redis 的基本命令和高级功能,如键值存储、列表操作和事务处理。此外,还提供了多个实际案例,帮助读者更好地理解和应用这些技术。 ... [详细]
  • 在 CentOS 6.5 系统上部署 VNC 服务器的详细步骤与配置指南
    在 CentOS 6.5 系统上部署 VNC 服务器时,首先需要确认 VNC 服务是否已安装。通常情况下,VNC 服务默认未安装。可以通过运行特定的查询命令来检查其安装状态。如果查询结果为空,则表明 VNC 服务尚未安装,需进行手动安装。此外,建议在安装前确保系统的软件包管理器已更新至最新版本,以避免兼容性问题。 ... [详细]
  • SecureCRT是一款功能强大的终端仿真软件,支持SSH1和SSH2协议,适用于在Windows环境下高效连接和管理Linux服务器。该工具不仅提供了稳定的连接性能,还具备丰富的配置选项,能够满足不同用户的需求。通过SecureCRT,用户可以轻松实现对远程Linux系统的安全访问和操作。 ... [详细]
  • 本文详细介绍了在CentOS 6.5 64位系统上使用阿里云ECS服务器搭建LAMP环境的具体步骤。首先,通过PuTTY工具实现远程连接至服务器。接着,检查当前系统的磁盘空间使用情况,确保有足够的空间进行后续操作,可使用 `df` 命令进行查看。此外,文章还涵盖了安装和配置Apache、MySQL和PHP的相关步骤,以及常见问题的解决方法,帮助用户顺利完成LAMP环境的搭建。 ... [详细]
  • 本文深入探讨了NoSQL数据库的四大主要类型:键值对存储、文档存储、列式存储和图数据库。NoSQL(Not Only SQL)是指一系列非关系型数据库系统,它们不依赖于固定模式的数据存储方式,能够灵活处理大规模、高并发的数据需求。键值对存储适用于简单的数据结构;文档存储支持复杂的数据对象;列式存储优化了大数据量的读写性能;而图数据库则擅长处理复杂的关系网络。每种类型的NoSQL数据库都有其独特的优势和应用场景,本文将详细分析它们的特点及应用实例。 ... [详细]
  • 本文提供了详细的 Filebeat 部署指南,涵盖了解压安装包、配置文件编辑以及启动服务等关键步骤。具体操作包括使用 `tar -zxvf filebeat-6.1.1-linux-x86_64.tar.gz` 解压安装包,并通过 `vi /home/elk/filebeat-6.4.2-linux/filebeat.yml` 编辑配置文件。此外,文章还介绍了最佳实践,帮助用户确保 Filebeat 的高效运行和数据传输的可靠性。 ... [详细]
  • 在项目开发过程中,掌握一些关键的Linux命令至关重要。例如,使用 `Ctrl+C` 可以立即终止当前正在执行的命令;通过 `ps -ef | grep ias` 可以查看特定服务的进程信息,包括进程ID(PID)和JVM参数(如内存分配和远程连接端口);而 `netstat -apn | more` 则用于显示网络连接状态,帮助开发者监控和调试网络服务。这些命令不仅提高了开发效率,还能有效解决运行时的各种问题。 ... [详细]
  • 优化后的标题:深入解析09版Jedis客户端
    深入解析09版Jedis客户端,本文将详细介绍如何在Java项目中正确配置Jedis以操作Redis。首先,确保项目的JDK版本和编译器设置正确。接着,通过Maven或Gradle导入必要的依赖项,如 `redis.clients:jedis`。此外,文章还将探讨Jedis连接池的配置与优化,以及常见问题的解决方案,帮助开发者高效使用Jedis进行Redis操作。 ... [详细]
  • 帝国CMS中的信息归档功能详解及其重要性
    本文详细解析了帝国CMS中的信息归档功能,并探讨了其在内容管理中的重要性。通过归档功能,用户可以有效地管理和组织大量内容,提高网站的运行效率和用户体验。此外,文章还介绍了如何利用该功能进行数据备份和恢复,确保网站数据的安全性和完整性。 ... [详细]
  • 如何优化MySQL数据库性能以提升查询效率和系统稳定性 ... [详细]
  • 在 Axublog 1.1.0 版本的 `c_login.php` 文件中发现了一个严重的 SQL 注入漏洞。该漏洞允许攻击者通过操纵登录请求中的参数,注入恶意 SQL 代码,从而可能获取敏感信息或对数据库进行未授权操作。建议用户尽快更新到最新版本并采取相应的安全措施以防止潜在的风险。 ... [详细]
  • 七款高效编辑器与笔记工具推荐:KindEditor自动换行功能解析
    本文推荐了七款高效的编辑器与笔记工具,并详细解析了KindEditor的自动换行功能。其中,轻笔记QingBiJi是一款完全免费的记事本软件,用户可以通过其简洁的界面和强大的功能轻松记录和管理日常事务。此外,该软件还支持多平台同步,确保用户在不同设备间无缝切换。 ... [详细]
  • 基于域名、端口和IP的虚拟主机构建方案
    本文探讨了在单台物理服务器上构建多个Web站点的虚拟主机方案,详细介绍了三种主要的虚拟主机类型:基于域名、基于IP地址和基于端口的虚拟主机。每种类型的实现方式及其优缺点均进行了深入分析,为实际应用提供了全面的技术指导。 ... [详细]
  • 公司计划部署邮件服务器,考虑到已有域名,决定自行搭建内部邮件服务器。经过综合考量,最终选择在Linux环境中进行搭建,并记录了相关配置和实践过程。本文将详细介绍Postfix的基本设置步骤和实践经验,帮助读者快速掌握邮件服务器的搭建方法。 ... [详细]
author-avatar
mobiledu2502857177
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有