redis操作基本命令

这篇具有很好参考价值的文章主要介绍了redis操作基本命令。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Redis—— Remote Dictionary Server,它是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API,我们可使用它构建高性能,可扩展的Web应用程序。

具有以下特点:

  • 异常快速: Redis数据库完全在内存中,因此处理速度非常快,每秒能执行约11万集合,每秒约81000+条记录。
  • 数据持久化:Redis支持数据持久化,可以将内存中的数据存储到磁盘上,方便在宕机等突发情况下快速恢复。
  • 支持丰富的数据类型: 相比许多其他的键值对存储数据库,Redis拥有一套较为丰富的数据类型。
  • 数据一致性: 所有Redis操作是原子的,这保证了如果两个客户端同时访问的Redis服务器将获得更新后的值。
  • 多功能实用工具:Redis是一个多实用的工具,可以在多个用例如缓存,消息,队列使用(Redis原生支持发布/订阅),任何短暂的数据,应用程序,如 Web应用程序会话,网页命中计数等。

首先是在ubuntu下的安装:

下载:

root@localhost:~# wget http://download.redis.io/releases/redis-3.0.0.tar.gz

复制

解压:

root@localhost:~# tar zxvf redis-3.0.tar.gz

复制

编译安装:

root@localhost:~#cd redis-3.0.0 && make && make install

复制

查看安装版本:

root@localhost:~# src/redis-server -v

复制

基本组件:

组件

用途

redis-server

Redis服务器的启动程序。

redis-cli

Redis命令行操作工具。当然,你也可以用telnet根据其纯文本协议来操作。

redis-benchmark

Redis性能测试工具,测试Redis在你的系统及你的配置下的读写性能。

redis-stat

Redis状态检测工具,可以检测Redis当前状态参数及延迟状况。

启动redis服务:

root@localhost:~# src/redis-server

复制

连接redis:

    root@localhost:~# src/redis-cli
    127.0.0.1:6379>

复制

基本参数配置:

参数

作用

daemonize

是否以后台daemon方式运行redis服务。

port

redis服务端口,默认6379。

timeout

请求超时时间。

requirepass

连接数据库密码。

redis.configdaemonize参数默认为no,为了让redis服务在后台运行,我们需要将daemonize参数设置为yes

SET指令:

redis> SET key value      //如果key值相同则覆盖原值,并且清除原值的保存时间
redis> SETEX key seconds value  //添加生存时间,以秒为单位
redis> GET key   //如果key不存在,则返回nil(并非null),如果value非字符串,则报错,因为GET命令仅能获取string类型数据
redis> APPEND key appendValue   // 对已存在的字符串进行追加,如果key不存在,则相当于set直接赋值
redis> MSET key value [key1 value1...]    //同时set多个,存在则覆盖
redis> MGET key key1...   //同时获取多个key值,如果某个key不存在,则当前key返回nil

例如:
127.0.0.1:6379> mget age gender sex                                                                                 
1) "12"                                                                                                             
2) "man"                                                                                                            
3) (nil)

redis> SETRANGE key offset value     //用value覆盖当前key,从偏移量offset开始,如果offset大于原value长度,则中间每个空白均采用用零字节"\x00"填充
redis> STRLEN key   //返回当前key存储的string的长度,value非string时,报错

复制

其它指令:

指令

用途

GETSET

设置键的字符串值,并返回旧值。

GETRANGE

得到字符串的子字符串存放在一个键。

GETBIT

对 key 所储存的字符串值,获取指定偏移量上的位(bit)。

SETBIT

对 key 所储存的字符串值,设置或清除指定偏移量上的位(bit)。

SETNX

将 key 的值设为 value ,当且仅当 key 不存在。

MSETNX

同时设置一个或多个 key-value 对,当且仅当所有给定 key 都不存在。

PSETEX

和 SETEX 命令相似,但它以毫秒为单位设置 key 的生存时间,而不是像 SETEX 命令那样,以秒为单位。

INCR

将 key 中储存的数字值增一。

INCRBY

将 key 所储存的值加上指定增量。

INCRBYFLOAT

为 key 中所储存的值加上指定浮点数增量。

DECR

将 key 中储存的数字值减一。

DECRBY

将 key 所储存的值加上指定增量。

HSET指令:

使用HSET命令来将哈希表 key 中的域 field 的值设为 value(即每个key存储的是很多键值对):

redis> HSET key field value # 设置一个新域

复制

设置多个:

HMSET key field value [field value ...]     //如果 key 不存在,将会创建一个空的哈希表并执行HMSET操作,如果添加的域已存在哈希表中,那么它将被覆盖。

复制

获取指定key下的指定field值:

redis> HGET key field

复制

获取多个:

redis> HMGET key field1 field2 field3...             # 返回值的顺序和传入参数的顺序一样,如果field不存在,则返回nil

复制

获取该key下全部field对应的field及value值(返回值格式为field1 value1然后是field2 value2...),所以返回值长度是field长度的2倍:

redis> HGETALL key

复制

验证给定key下的field是否存在:

redis> HEXISTS key field    //存在返回1,不存在返回0

复制

返回当前key下所有field:

redis> HKEYS key       // 当 key 不存在时,返回一个空表

复制

返回当前key下所有field的长度和:

redis> HLEN key    //当 key 不存在时,返回 0

复制

删除给定key下的field:

redis> HDEL key field      //如果是不存在的域,那么它将被忽略掉

复制

LIST:

list首先是字符串列表,list相关命令:

左插入:

redis> LPUSH key value1 values2    //依次插入value1,value2,先插入的value在list的越下方

复制

将列表 key 下标为index的元素的值设置为 value:

redis>LSET key index value  //列表 key 必须是已存在的,而且index不能超出列表长度范围

复制

获取到指定位置的 value:

redis>LINDEX key index    //index为0表示第一个元素即list结构最低层的数据,1表示第二个元素;-1表示倒数第一个

复制

将值 value 插入到列表 key 当中,位于值 pivot 之前或之后:

redis> LINSERT key BEFORE|AFTER value1 value  //在value1之前或之后插入数据value,当 value1不存在于列表 key 时,不执行任何操作。当 key 不存在时, key 被视为空列表,不执行任何操作。如果 key 不是列表类型,返回一个错误

复制

移除列表中与参数 value 相等的元素:

redis> LREM key count value  

复制

count 的值可以是以下几种:

  • count > 0 : 从表头开始向表尾搜索,移除与 value 相等的元素,数量为 count 。
  • count < 0 : 从表尾开始向表头搜索,移除与 value 相等的元素,数量为 count 的绝对值。
  • count = 0 : 移除表中所有与 value 相等的值。

获取列表的长度:

redis> LLEN key    //如果 key 不存在,返回 0;如果 key 不是列表类型,返回一个错误

复制

让列表只保留指定区间内的元素,不在指定区间之内的元素都将被删除:

redis> LTRIM key start stop  

复制

无序集合操作:

redis中的集合是一个无序的字符串集合,可以快速进行增、删、改、查、等操作:

插入:

redis> SADD key member1 member2...  //已经存在member会被忽略,key不存在则创建key并插入该key集合

复制

随机取出当前集合中的某个元素:

redis> SPOP key     //如果所有数据均已pop出去,则返回nil

复制

获取集合中全部的元素:

redis> SMEMBERS key

复制

查看set集合中的数量:

redis>SCARD key

复制

获取key1集合中key2不包含的数据:

redis> SDIFF key1 key2

复制

获取集合的交集:

redis> SINTER key1 key2

复制

返回给定集合的并集:

redis> SUNION key1 key2

复制

判断集合是否包含某个元素:

redis> SISMEMBER key member  //为1则存在member,0则不存在

复制

member 元素从 source 集合移动到 destination 集合:

redis> SMOVE source destination member   //如果 source 集合不存在或不包含指定的 member 元素,则SMOVE命令不执行任何操作,仅返回 0 。否则, member 元素从 source 集合中被移除,并添加到 destination 集合中去;当 destination 集合已经包含 member 元素时,SMOVE命令只是简单地将 source 集合中的 member 元素删除

复制

将元素从集合中移除:

redis> SREM key member1 member2..  

复制

有续集合:

有序集合与普通集合非常相似,是一个没有重复元素的字符串集合。不同之处是有序集合的每个成员都关联了一个评分,这个评分(score)被用来按照从最低分到最高分的方式排序集合中的成员。集合的成员是唯一的,但评分可以重复。

有序集合可以以非常快的速度进行 访问、 添加、 删除 更新 元素。

将一个或多个 member 元素及其 score 值加入到有序集 key 当中:

redis> ZADD key score value     //score 值可以是整数值或双精度浮点数

复制

移除指定成员:

redis> ZREM key member1 member2...

复制

获取成员评分:

redis> ZSCORE key member              //注意返回值是字符串

复制

获取集合成员:

redis > ZRANGE key start stop [WITHSCORES]             //显示整个有序集成员

复制

查看集合成员的数量:

redis > ZCARD key

复制

根据score值范围,查看集合成员的数量:

redis> ZCOUNT key min max

复制

获取到给定元素在集合中的排名:

redis> ZRANK key member

复制

为给定的成员评分值加上增量:

redis> ZINCRBY key increment member

复制

KEYS指令:

keys指令用于获取所有的key值:

redis> KEYS pattern   //pattern正则表达式匹配

复制

判断指定key是否存在:

redis> EXISTS key        //存在返回 1 ,否则返回 0

复制

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

redis> MOVE key db            //redis默认db为0,即使用第一个数据库,这里可以随意指定

复制

修改key名:

redis> RENAME key newKey     //当 key 和 newkey 相同,或者 key 不存在时,返回一个错误

复制

实现排序:

redis> SORT key [BY pattern] [LIMIT offset count] [GET pattern [GET pattern ...]] [ASC | DESC] [ALPHA] [STORE destination]

复制

序列化给定key的值:

redis> DUMP key

复制

为key设置生存时间:

redis> EXPIRE key seconds

复制

获取给定 key 剩余生存时间(TTL, time to live):

redis> TTL key      //当 key 不存在时,返回 -2 。 当 key 存在但没有设置剩余生存时间时,返回 -1 。 否则,以秒为单位,返回

复制文章来源地址https://www.toymoban.com/news/detail-487208.html

到了这里,关于redis操作基本命令的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Redis基本全局命令(含key过期策略)

    KEY 返回所有满⾜样式(pattern)的key。⽀持如下统配样式。 h?llo 匹配 hello , hallo 和 hxllo h*llo 匹配 hllo 和 heeeello h[ae]llo 匹配 hello 和 hallo 但不匹配 hillo h[^e]llo 匹配 hallo , hbllo ,…但不匹配 hello h[a-b]llo 匹配 hallo 和 hbllo 语法: 时间复杂度:O(N) 返回值:匹配pattern的所有key。 ⽰例

    2024年02月15日
    浏览(37)
  • Redis从入门到精通【高阶篇】之底层数据结构字典(Dictionary)详解

    上个篇章回顾,我们上个章节,讲了Redis中的快表(QuickList),它是一种特殊的数据结构,用于存储一系列的连续节点,每个节点可以是一个整数或一个字节数组。快表是Redis中的底层数据结构之一,常用于存储有序集合(Sorted Set)等数据类型的底层实现。 那么本章讲解Red

    2024年02月09日
    浏览(50)
  • C# 字典(Dictionary)基本操作

    一、定义一个字典 :  二、 添加元素 : 三、 通过键查找值 : 四、 检查键是否存在 : 五、 获取值 : 六、 修改或更新值 : 七、 删除元素 : 八、 遍历字典 : 九、C# 8.0 及以上版本还引入了  foreach  循环简写语法 注意:在字典中,键是唯一的,不能有重复的键;而值可

    2024年02月20日
    浏览(33)
  • 【Redis】Redis在Linux与windows上的安装&基本操作语法

    Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库。 Redis 与其他 key - value 缓存产品 有以下三个特点: Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用。 Redis不仅仅支持简单的key-value类型的数据,同时还提供

    2024年02月06日
    浏览(51)
  • redis命令之hash类型操作命令

    目录 1、添加、查询、删除指令  2、hlen 3、hexists 4、获取字段/获取值 5、字段对应值的增加/减少 6、 hsetnx 7、hash类型使用案例 hash类型介绍:KV模式不变,但V是一个键值对,类似java中的map集合嵌套:MapString, MapObject, Object 1、添加、查询、删除指令         (1)hset        

    2024年02月05日
    浏览(41)
  • redis常用操作命令

     日升时奋斗,日落时自省 注:命令区分有点细,择取自己需要的即可 目录 1、单机架构 2、数据库和应用分离 3、分布式基本概念 3.1、应用(Application)/系统(System) 3.2、模块(Module)/组件(Component) 3.3、分布式(Distributed) 3.4、集群(Cluster) 3.5、主(Master) /从(Slave)

    2024年02月07日
    浏览(31)
  • Redis的安装方法与基本操作

    目录 前言 一、REDIS概述 二、REDIS安装 1、编译安装 2.yum安装 三、Redis的目录结构 四、基础命令解析 五、在一台服务器上启动多个redis 六、数据库的基本操作 (一)登录数据库 (二)基础命令 七、Redis持久化 (一)RDB持久化 (二)AOF持久化 总结 Redis是一个开源的内存数据结

    2024年02月13日
    浏览(41)
  • 四:redis的常见命令及5种基本数据类型

    redis官网可查看所有命令: https://www.redis.net.cn/order/ Redis 键(key) 命令 1.String(字符串) redis字符串类型: string类型的使用场景:value可以是字符串还可以是数字 计数器 统计多单位的数量 对象缓存存储 2.List(列表类型) redis中的list可以当做栈或队列使用 list的命令只有push和pop才分

    2024年02月03日
    浏览(39)
  • Redis安装-常用命令及操作

    目录 一.Redis简介 二.redis安装 1.1安装Linux版本 1.2安装 windows版本 三.redis的常用命令 Redis哈希(Hash) Redis是一个开源(BSD许可),内存存储的数据结构服务器,可用作数据库,高速缓存和消息队列代理。    它支持字符串、哈希表、列表、集合、有序集合,位图,hyperloglogs等数据

    2024年02月06日
    浏览(45)
  • 【Redis】五大数据类型(操作命令)

    🚩Redis 键(key) 这些是 Redis 数据库中的命令,用于对数据类型进行操作和管理。以下是每个命令的含义和用法: DEL:删除一个或多个键。 DUMP:将一个键的值转储到一个字符串中。 EXPIRE:设置键的过期时间。 EXPIREAT:在给定的时间戳之后为键设置过期时间。 KEYS:返回匹配给

    2024年02月13日
    浏览(62)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包