Redis客户端基本命令
更多命令请进入官网查询:https://redis.io/commands
一、基础命令
1.连接服务端
redis-cli
或
redis-cli -h ip地址 -p 端口
2.选择数据库
Redis默认支持16个数据库,对外都是以一个从0开始递增数命令。
select 1
get test
说明:
1.redis不支持自定义数据库名称称
2.redis不支持为每个数据库设置访问密码
3.redis的多个数据库之间不是完全隔离,flushall命令会清空所有数据
3.设置数据库数量
redis.conf文件中找到databases的关键字修改后边的数字即可
4.设置数据
set key value
5.获取数据
get key
6.判断是否存在
exists key
7.刪除数据
del key
8.判断key类型
type key
9.递增数字
incr num
10.自定义递增数字
incrby num 2
11.递减数字
decr num
12.自定义递减数字
decrby num 3
13.向尾部追加值
set str hello
append str "world"
get str
14.获取字符串长度
strlen key
15.同时设置/获取多个键值
mset k1 v1 k2 v2 k3 v3
get k1
mget k1 k3
16.设置生存时间(单位:秒)
set user jack
expire user 10 #10秒后被删除
17.清除生存时间
set user jack
expire user 60
persist user #永久保存
18.查看生存时间
ttl key
TTL返回值:
大于0的数字:剩余生存时间,单位为秒
-1 : 没有生存时间,永久存储
-2 : 数据已经被删除
二、数据类型命令
1.字符串命令
| 编号 | 命令 | 说明 |
|---|---|---|
| 1 | set key value | 此命令设置指定键的值 |
| 2 | get key | 获取指定键的值 |
| 3 | getrange key start end | 获取存储在键上的字符串的子字符串 |
| 4 | getset key value | 设置键的字符串值并返回其旧值 |
| 5 | getbit key offset | 返回在键处存储的字符串值中偏移处的位值 |
| 6 | mget key1 [key2..] | 获取所有给定键的值 |
| 7 | setbit key offset value | 存储在键上的字符串值中设置或清除偏移处的位 |
| 8 | setex key seconds value | 使用键和到期时间来设置值 |
| 9 | setnx key value | 设置键的值,仅当键不存在时 |
| 10 | setrange key offset value | 在指定偏移处开始的键处覆盖字符串的一部分 |
| 11 | strlen key | 获取存储在键中的值的长度 |
| 12 | mset key value [key value …] | 为多个键分别设置它们的值 |
| 13 | msetnx key value [key value …] | 为多个键分别设置它们的值,仅当键不存在时 |
| 14 | psetex key milliseconds value | 设置键的值和到期时间(以毫秒为单位) |
| 15 | incr key | 将键的整数值增加1 |
| 16 | incrby key increment | 将键的整数值按给定的数值增加 |
| 17 | incrbyfloat key increment | 将键的浮点值按给定的数值增加 |
| 18 | decr key | 将键的整数值减1 |
| 19 | decrby key decrement | 按给定数值减少键的整数值 |
| 20 | append key value | 将指定值附加到键 |
2.哈希命令
| 编号 | 命令 | 说明 |
|---|---|---|
| 1 | hdel key field2 [field2] | 删除一个或多个哈希字段 |
| 2 | hexists key field | 判断是否存在散列字段。 |
| 3 | hget key field | 获取存储在指定键的哈希字段的值 |
| 4 | hgetall key | 获取存储在指定键的哈希中的所有字段和值 |
| 5 | hincrby key field increment | 将哈希字段的整数值按给定数字增加 |
| 6 | hincrbyfloat key field increment | 将哈希字段的浮点值按给定数值增加 |
| 7 | hkeys key | 获取哈希中的所有字段 |
| 8 | hlen key | 获取散列中的字段数量 |
| 9 | hmget key field1 [field2] | 获取所有给定哈希字段的值 |
| 10 | hmset key field1 value1 [field2 value2 ] | 为多个哈希字段分别设置它们的值 |
| 11 | hset key field value | 设置散列字段的字符串值 |
| 12 | hsetnx key field value | 仅当字段不存在时,才设置散列字段的值 |
| 13 | hvals key | 获取哈希中的所有值 |
3.列表命令
| 编号 | 命令 | 说明 |
|---|---|---|
| 1 | blpop key1 [key2 ] timeout | 删除并获取列表中的第一个元素,或阻塞,直到有一个元素可用 |
| 2 | brpop key1 [key2 ] timeout | 删除并获取列表中的最后一个元素,或阻塞,直到有一个元素可用 |
| 3 | brpoplpush source destination timeout | 从列表中弹出值,将其推送到另一个列表并返回它; 或阻塞,直到一个可用 |
| 4 | lindex key index | 通过其索引从列表获取元素 |
| 5 | linsert key before/after pivot value | 在列表中的另一个元素之前或之后插入元素 |
| 6 | llen key | 获取列表的长度 |
| 7 | lpop key | 删除并获取列表中的第一个元素 |
| 8 | lpush key value1 [value2] | 将一个或多个值添加到列表 |
| 9 | lpushx key value | 仅当列表存在时,才向列表添加值 |
| 10 | lrange key start stop | 从列表中获取一系列元素 |
| 11 | lrem key count value | 从列表中删除元素 |
| 12 | lset key index value | 通过索引在列表中设置元素的值 |
| 13 | ltrim key start stop | 修剪列表的指定范围 |
| 14 | rpop key | 删除并获取列表中的最后一个元素 |
| 15 | rpoplpush source destination | 删除列表中的最后一个元素,将其附加到另一个列表并返回 |
| 16 | rpush key value1 [value2] | 将一个或多个值附加到列表 |
| 17 | rpushx key value | 仅当列表存在时才将值附加到列表 |
4.集合命令
| 编号 | 命令 | 说明 |
|---|---|---|
| 1 | sadd key member1 [member2] | 将一个或多个成员添加到集合 |
| 2 | scard key | 获取集合中的成员数 |
| 3 | sdiff key1 [key2] | 减去多个集合 |
| 4 | sdiffstore destination key1 [key2] | 减去多个集并将结果集存储在键中 |
| 5 | sinter key1 [key2] | 相交多个集合 |
| 6 | sinterstore destination key1 [key2] | 交叉多个集合并将结果集存储在键中 |
| 7 | sismember key member | 判断确定给定值是否是集合的成员 |
| 8 | smove source destination member | 将成员从一个集合移动到另一个集合 |
| 9 | spop key | 从集合中删除并返回随机成员 |
| 10 | srandmember key [count] | 从集合中获取一个或多个随机成员 |
| 11 | srem key member1 [member2] | 从集合中删除一个或多个成员 |
| 12 | sunion key1 [key2] | 添加多个集合 |
| 13 | sunionstore destination key1 [key2] | 添加多个集并将结果集存储在键中 |
| 14 | sscan key cursor [MATCH pattern] [COUNT count] | 递增地迭代集合中的元素 |
-以上命令如有错误,请各位指明!
Redis客户端基本命令的更多相关文章
- redis中基本命令
记录一下redis中的基本命令.redis中有redis-cli工具客户端,使用这个客户端来发送一些命令 一.redis-cli的使用 1.redis-cli使用之发送命令 2.redis-cli使 ...
- springBoot 集成redis客户端傻瓜式流程
Redis目前作为很多项目的主流缓存方案,学习完redis的基本命令和特性后.我们要集成进我们的springboot项目中 不废话上代码 在application.yml中加入 spring: red ...
- StackExchange.Redis客户端读写主从配置,以及哨兵配置。
今天简单分享一下StackExchange.Redis客户端中配置主从分离以及哨兵的配置. 关于哨兵如果有不了解的朋友,可以看我之前的一篇分享,当然主从复制文章也可以找到.http://www.cnb ...
- c#实现redis客户端(一)
最近项目使用中要改造redis客户端,看了下文档,总结分享一下. 阅读目录: 协议规范 基础通信 状态命令 set.get命令 管道.事务 总结 协议规范 redis允许客户端以TCP方式连接,默认6 ...
- 使用StackExchange.Redis客户端进行Redis访问出现的Timeout异常排查
问题产生 这两天业务系统在redis的使用过程中,当并行客户端数量达到200+之后,产生了大量timeout异常,典型的异常信息如下: Timeout performing HVALS Parser2 ...
- Redis客户端之Spring整合Jedis,ShardedJedisPool集群配置
Jedis设计 Jedis作为推荐的java语言redis客户端,其抽象封装为三部分: 对象池设计:Pool,JedisPool,GenericObjectPool,BasePoolableObjec ...
- 从零开始写redis客户端(deerlet-redis-client)之路——第一个纠结很久的问题,restore引发的血案
引言 正如之前的一篇博文,LZ最近正在从零开始写一个redis的客户端,主要目的是为了更加深入的了解redis,当然了,LZ也希望deerlet客户端有一天能有一席之地.在写的过程当中,LZ遇到了一个 ...
- Redis 客户端配置及示例
一.redis自定义配置节点 <configSections> <section name ="RedisConfig" type="Amy.Toolk ...
- Redis客户端Java服务接口封装
最近在学习Redis并集成到Spring中去,发现Spring的RedisTemplate并不好用,还没有MongoTemplate好用. 而且发现Jedis和ShardedJedis的方法非常多,覆 ...
随机推荐
- 极小极大搜索 的个人理解(alpha-beta剪枝)
极小极大搜索的算法过程: 参考文档:http://www.xqbase.com/computer/search_minimax.htm (经典) 主要思想比较简单,但说清楚也不大容易.其核心思想是通过 ...
- 这可能是最详细的 iOS 学习入门指南(含书目/文档/学习资料)
1 零基础小白如何进行 iOS 系统学习 首先,学习目标要明确: 其次,有了目标,要培养兴趣,经常给自己一些正面的反馈,比如对自己的进步进行鼓励,在前期小步快走: 再次,学技术最重要的一点就是多动手. ...
- day5-os、sys模块
一.概述 开发运维相关支撑系统现今已成为Devops下的一大热门领域,Python在这方面也有着自己独到的优势.这类场景以及其他一些场景下,需要调用一些操作系统的接口,这就涉及到今天要讲述的OS模块和 ...
- hdu 6113 度度熊的01世界(结构体的赋值问题)
题目大意: 输入n*m的字符串矩形,判断里面的图形是1还是0,还是什么都不是 注意:结构体中放赋值函数,结构体仍旧能定义的写法 #include <iostream> #include&l ...
- 浅谈《剑指offer》原题:不使用条件、循环语句求1+2+……+n
转载自:浅谈<剑指offer>原题:求1+2+--+n 如侵犯您的版权,请联系:windeal12@qq.com <剑指offer>上的一道原题,求1+2+--+n,要求不能使 ...
- ASP.NET MVC3关于生成纯静态后如何不再走路由直接访问静态页面--收藏没测
要解决这个问题,我们需要先了解ASP.NET应用程序的生命周期,先看下面作者整理的一张图片: 从图中我们可以清楚的看到:通用IIS访问应用程序时,每次的单个页面URL访问时,都会先经过HttpAppl ...
- mysql动态扩容调研
MySQL动态扩容方案 目前可用方案 MySQL的复制: 一个Master数据库,多个Salve,然后利用MySQL的异步复制能力实现读写分离,这个方案目前应用比较广泛,这种技术对于以读为主的应用很有 ...
- boost::function和boost:bind取代虚函数
以boost::function和boost:bind取代虚函数 这是一篇比较情绪化的blog,中心思想是"继承就像一条贼船,上去就下不来了",而借助boost::function ...
- visual studio code 命令集合
title: "netcore命令行汇总" layout: post date: 2017-09-18 13:22:00" categories: netcore --- ...
- python学习之多线程(二)
使用multiprocessing 使用multiprocessing.dummy 单使用multiprocessing模块的指的是多进程,使用multiprocessing.dummy则表示使用的是 ...