一、Redis的全局命令操作

1、查看所有键

keys *
-- 也可以模糊搜索查询,但一般不推存
keys s*

2、查看键总数

dbsize

3、检查键是否存在

exists key

4、删除键,返回删除的条数

del key

5、键过期

返回剩余的过期时间:-1表示没有设置过期,-2表示已过期,正数表示还剩余的过期时间(秒)

expire key seconds
-- 设置时间戳以后过期
expireat key 时间戳
-- 查看还剩多久过期
ttl key

6、查看键的数据结构类型

type key

7、键重命名

如果newkey存在,则会强制覆盖

rename oldkey newkey

二、Redis常用的五种数据结构操作

字符串(String)、哈希(Hash)、列表(List)、集合(Set)、有序集合(ZSET)

字符串(String)

1、设置值

set key value
-- key必须不存在,才能设置成功,用于添加
setnx key value
-- key必须存在,才能设置成功,用于更新
set key value xx
--批量设置
mset key1 value1 key2 value2
例:
set age 23 ex 10
setnx name test
set age 25 xx

set命令有几个选项:

  • ex seconds:为键设置秒级过期时间。

  • px milliseconds:为键设置毫秒级过期时间。

  • nx:键必须不存在,才可以设置成功,用于添加。

  • xx:与nx相反,键必须存在,才可以设置成功,用于更新。

set key value ex seconds

2、获取值

get key
--批量获取
mget key1 key2
例:
批量设值:mset country china city beijing
批量获取:mget country city address

3、lncr数字运算

lncr命令用于对值做自增操作,返回结果分为三种情况:

  • 值不是整数,返回错误
  • 值是整数,返回自增后的结果
  • 键不存在,按照值为0自增,返回结果为1
-- 自增
incr key
-- 自减
decr key
-- 自增指定数字
incrby 数字 key
-- 自减指定数字
decrby 数字 key
-- 自增浮点数
incrbyfloat 数字 key
例:
incr age       //必须为整数自加1,非整数返回错误,无age键从0自增返回1
decr age      //整数age减1
incrby age 2 //整数age+2
decrby age 2//整数age -2
incrbyfloat score 1.1 //浮点型score+1.1

4、append追加指令

append key 追加的字符串
例:
set name hello
append name world //追加后成helloworld

5、strlen字符串长度,返回字符串长度

strlen key
例:set hello “世界”strlen hello

6、getset设置并返回原值

getset和set一样会设置值,但是不同的是,它同时会返回键原来的值

getset key value

7、setrange设置指定位置的字符,下标从0开始计算

setrange key 下标 设置的值

8、getrange截取字符串

getrange截取字符串中的一部分,形成一个子串,需要指明开始和结束的偏移量,截取的范围 是个闭区间

getrange key 开始下标  结束下标
例:set name helloworld ; getrange name 2 4//返回 llo

哈希(Hash)

id name age
1 xiaoming 18
-- 用String设置值(命令空间防止键名冲突:业务名:对象名:id:属性)
set user:1:name xiaoming
set user:1:age 18
-- 用Hash设置值
hmset user:1 name xiaoming age 18

哈希是一个string类型的field和value的映射表,hash特适合用于存储对象

 命令  hset key field value设值:hset user:1 name xiaoming取值:hget user:1 name删值:hdel user:1 age计算个数:hset user:1 name xiaoming; hset user:1 age 23; hlen user:1批量设值:hmset user:2 name xiaoming age 23 sex boy批量取值:hmget user:2 name age sex判断field是否存在:hexists user:2 name获取所有field: hkeys user:2获取user:2所有value:hvals user:2获取user:2所有field与value:hgetall user:2增加1:hincrby user:2 age 1hincrbyfloat user:2 age 2

列表(List)

列表( list)类型是用来存储多个有序的字符串,a、b、c、d、e五个元素从左到右组成了一个有序的列表,列表中的每个字符串称为元素(element),一个列表最多可以存储2-1个元素。在Redis 中,可以对列表两端插入( push)和弹出(pop),还可以获取指定范围的元素列表、获取指定索引下标的元素等。

1、lrange获取指定范围内的元素列表

索引下标特点:从左到右为0到N-1

lrange 0 -1  命令可以从左到右获取列表的所有元素
rpush 从右向左插入
lpush 从左向右插入
linsert 在某个元素前或后插入新元素
lpop 从列表左侧弹出
rpop 从列表右侧弹出

2、lrem 对指定元素进行删除

lrem命令会从列表中找到等于value的元素进行删除,根据count的不同分为三种情况:

  • count>0,从左到右,删除最多count个元素。
  • count<0,从右到左,删除最多count绝对值个元素。
  • count=0,删除所有。

lrem enjoylist 4 x

3、ltirm 按照索引范围修剪列表

例如想保留列表中第0个到第1个元素

ltrim enjoylist 0 1

4、lset修改指定索引下标的元素

lset enjoylist 1 web

5、lindex 获取列表指定索引下标的元素

lindex enjoylist 1

6、llen获取列表长度

llen enjoylist

集合(Set)

集合( set)类型也是用来保存多个的字符串元素,但和列表类型不一样的是,
集合中不允许有重复元素,并且集合中的元素是无序的,不能通过索引下标获取元 素。

1、sadd添加元素

允许添加多个,返回结果为添加成功的元素个数

sadd key member

2、srem删除元素

允许删除多个,返回结果为成功删除的元素个数

srem key member

3、scard计算元素个数

scard key

4、sismember判断元素是否在集合中

如果给定元素element在集合内返回1,否则返回0

sismember key member

5、srandmember随机从集合返回 指定个数元素

指定个数如果不写默认为1

srandmember key count

6、spop从集合随机弹出元素

可以指定个数,如果不写默认为1。spop命令执行后,元素会从集合中删除,而srandmember命令不会删除元素

spop key count

7、smembers获取所有元素

返回的结果是无序的

smembers key

8、sinter求多个集合的交集

sinter key1 key2

9、sunion求多个集合的并集

sunion key1 key2

10、sdiff求多个集合的差集

sdiff key1 key2

11、将交集、并集、差集 的结果保存

集合间的运算在元素较多的情况下会比较耗时,所以redis提供了下面三个命令(原命令+store)将集合间交集、并集、差集的结果保存在destination key中

sinterstore destination key [key ...]
suionstore destination key [key ...]
sdiffstore destination key [key ...]

有序集合(ZSET)

有序集合它保留了集合不能有重复成员的特性,但不同的是有序集合中的元素可以排序。它和列表使用索引下标作为排序依据不同的是,有序集合给每个元素设置一个分数(score)作为排序的依据。

有序集合的元素不能重复,但是score可以重复。就像班里同学的学号不能重复,但是分数可以重复一样。

有序集合提供子获取指定分数和元素范围查询、计算成员排名等功能。

1、zadd添加成员,返回结果代表成功添加成员的个数

向有序集合u:kaoshi添加用户test01和他的分数98:

zadd u:kaoshi 98 test01

zadd命令还有四个选项nx、xx、ch、incr

  • nx:member必须不存在,才可以设置成功,用于添加
  • xx:member必须存在,才可以设置成功,用于更新
  • ch:返回此次操作后,有序集合元素和分数发生变化的个数
  • incr:对score做增加,相当于zincrby

2、zcard计算成员个数

zcard key

3、zscore计算某个成员的分数

如果成员不存在则返回nil

zscore key member

4、zrank计算成员的排名

zrank是分数从低到高返回排名,zrevrank是分数是从高到低返回排名

zrank key member
zrevrank key member

5、zrem删除成员

允许一次删除多个成员,返回结果为成功删除的个数

zrem key member

6、zincrby增加成员的分数

zincrby key score member

7、zrange 和 zrevrange 返回指定排名范围的成员

有序集合是按照分值排名的,zrange是从低到高返回,zrevrange反之,如果加上withscores选项,同时会返回成员的分数

zrange key min max
zrange key min max withscores
zrevrange key min max
zrevrange key min max withscores

8、zrangebyscore 返回指定分数范围的成员

zrangebyscore 按照分数从低到高返回,zrevrangebyscore 反之。

zrangebyscore key min max [withscores] [limit offset count] zrevrangebyscore key max min [withscores][limit offset count]

9、zcount返回指定分数范围成员个数

zcount key min max

10、zremrangebyrank 按升序删除指定排名内的元素

zremrangebyrank key start end

11、zremrangebyscore 删除指定分数范围的成员

zremrangebyscore key min max

12、zinterstore 交集

zinterstore destination numkeys key [key ...] [weights weight [weight ...]] [aggregate sum / min / max]

destination:交集计算结果保存到这个键。

numkeys:需要做交集计算键的个数。

key [key …]:需要做交集计算的键。

weights weight [weight …]:每个键的权重,在做交集计算时,每个键中的每个

member 会将自己分数乘以这个权重,每个键的权重默认是 1。

aggregate sum/ min |max:计算成员交集后,分值可以按照 sum(和)、min(最

小值)、max(最大值)做汇总,默认值是 sum

13、zunionstore 并集

zunionstore destination numkeys key [key ...] [weights weight [weight ...]] [ aggregate sunmI minl max]

交集

zinterstore destination numkeys key [key ...] [weights weight [weight ...]] [aggregate sum / min / max]

destination:交集计算结果保存到这个键。

numkeys:需要做交集计算键的个数。

key [key …]:需要做交集计算的键。

weights weight [weight …]:每个键的权重,在做交集计算时,每个键中的每个

member 会将自己分数乘以这个权重,每个键的权重默认是 1。

aggregate sum/ min |max:计算成员交集后,分值可以按照 sum(和)、min(最

小值)、max(最大值)做汇总,默认值是 sum。

2、Redis的常用命令相关推荐

  1. Redis初学:4(Redis的常用命令)

    Redis的常用命令 查看所有key keys * 如下图: 插入key set key value 如下图: 取出key对应的value值 get key 如下图: 查看某个key是否存在 exis ...

  2. Redis 中常用命令

    Redis 中常用命令 keys 返回满足给定 pattern 的所有 key. 127.0.0.1:6379> keys *1) "name2"2) "myzse ...

  3. Linux下安装redis以及常用命令

    https://blog.csdn.net/zgf19930504/article/details/51850594 安装: 1.获取redis资源 wget http://download.redi ...

  4. 05_NoSQL数据库之Redis数据库:Redis的常用命令,键值相关命令和服务器相关命令

     Redis常用命令 Redis提供了丰富的命令对数据库和各种数据库类型进行操作,这些命令可以再Linux终端使用. 键值相关命令: Keys:返回满足给定pattern的所有key 用表达式*表 ...

  5. un7.28:redis客户端常用命令。

    安装完成Redis,我们就可以操作Redis,实现数据的CRUD(增删改查)了.这需要用到Redis客户端常用的一些命令,我给大家分享最常用的一些. 一.Redis命令行客户端 1.输入命令进入,命令 ...

  6. 【CentOS7安装Redis及常用命令】

    目录 一. 背景 二. 安装gcc依赖 三. 下载Redis 3.1 下载方式1:官网下载redis 3.2 下载方式2:wget获取redis 四. 安装 五. 启动 5.1 前台启动(不推荐) 5 ...

  7. Redis HyperLogLog常用命令

    基数并不是存储元素,存储元素消耗内存空间比较大,而是给某一个有重复元素的数据集合(一般是很大的数据集合)评估需要的空间单元数,所以它没有办法进行存储,加上在工作中用得不多,我们要介绍一下 Redis ...

  8. Redis的常用命令,Redis常用操作命令

    1.Redis功能操作的命令 clear 清屏 服务器端 两次ctrl + c 退出 客户端 一次 Ctril + c 退出 / esc help 命令名称 2.string类型的命令 get key ...

  9. redis 自减命令_Redis 实战 —— 04. Redis 数据结构常用命令简介

    字符串 P39 Redis 的字符串是一个有字节组成的序列,可以存储以下 3 种类型的值:字节串(byte string).整数.浮点数. 在需要的时候, Redis 会将整数转换成浮点数.整数的取值 ...

最新文章

  1. Android怎么隐藏前端,Android-Webview支持缩放并掩藏讨厌的缩放控制条
  2. JQuery操作checkbox、radio
  3. Hadoop2配置详解
  4. (c#)数据结构与算法分析 --递归
  5. 服务器可以pyqt显示吗,用pyqt+socket实现远程操作服务器的一个例子,PyQtsocket,方法,示例...
  6. Devops-运维效率之数据迁移自动化
  7. Cobbler体验小记
  8. 【线上直播】:5G时代VR+8K直播 刷新你的视界认知
  9. 香港连续25年被评为全球最自由经济体
  10. 在Python中检测*可用* CPU数量的便携方式
  11. spring5源码-基于XML的依赖注入
  12. 50个常用mysql语句_50个常用的sql语句
  13. jquery选择器的总结
  14. 如何将Groovy中的文件读入字符串?
  15. python学习笔记——守护进程
  16. vue开发:前端项目模板
  17. C语言求2/1,-3/2,5/3,-8/5...前十项之和
  18. 组织人事领域信息化探索:开启编制、干部、人事一体化管理新模式
  19. 1123581321递归算法java_【python 2】python 进阶
  20. npm ERR! nested aliases not supported 报错原因

热门文章

  1. 用友ERP/NC--张丹(转自用友网站)
  2. Android拨号器---熟练控件与布局的应用
  3. 电脑报2013年第1期
  4. 京东最新可用拉库地址大全以及拉库教程,kr
  5. 云计算大数据学习路线课程大纲资料:marpreduce快速入门
  6. Java集合概述、ArrayList的使用
  7. XX第三季度工作总结
  8. 【赠书】阿里云天池大赛赛题解析,深度学习篇!
  9. 面试题-批量向MySQL导入1000万条数据有什么方法?
  10. 如何给1000万条记录排序,每条记录都是7位的整数