strings类型

设值

设单个值

set key value

如果不存在,设一个值

setnx key value

//nx: not exists

设置过期时间(expired time)

setex key [number] value

//number为有效期,有效期过后,值为nil

把number索引后面替换为value

setrange key [number] value

设置多个值

mset key1 value1 key2 value2 …

批量设值

msetnx key1 value1 key2 value2 …

//设值全部成功或全部回滚

取值

get key

设置key值,并返回key的旧值

getset key value

获取指定区间的子字符串

getrange key number1 number2

批量获取key值,不存在的返回nil

mget key1 key2 key3 …

值操作

自增1

incr key

增加指定值

incrby key number

自减1

decr key

减去指定值

decry key number

拼接字符

append key value

取key的value长度

strlen key

hashes类型

创建hash数据结构,指定key值为value

hset hash_name key value

如果不存在,设置新值

hsetnx hash key value

批量设定hash的多个field

hmset hash key1 value1 key2 value2 …

获取hash指定的key值

hget hash key

获取指定的全部key值

hmget hash key1 key2 …

给指定的hash field加上定值number

hincrby hash key number

指定的field是否存在

hexists hash key

获取指定的hash的field数量

hlen hash

移除指定的field

hdel hash key

返回所有key值

hkeys hash

返回所有value值

hvals hash

返回所有key value

hgetall hash

lists类型

链表结构,主要功能是push pop,获取范围内的值

分非阻塞版本(默认)、阻塞版本

list左侧(或称头部)添加值value

lpush list value

list右侧(或称尾部)添加值value

rpush list value

在key对应list的位置之前/之后插入元素value

linsert list before/after key value

设置list中指定下标元素值

lset list index value

从list中删除count个value值

lrem list count value

保留指定区间的值

ltrim list index1 index2

弹出顶部元素并返回该值

lpop list

同上,底部

rpop list

弹出list1底部元素,并添加到list2头部,返回该值

rpoplpush list1 list2

返回value在list中的索引

lindex list value

返回list长度

llen list

sets类型

集合,和数学的集合概念相似,有交并差等操作(union、intersection、difference)

无序string类型集合,由hashtable实现,复杂度O(1)

添加set值

sadd set value

移除set中的值value

srem set value

随机移除set的value并返回

spop set

差集

sdiff set1 set2

返回set1于set2的差集(即set1中不存在于set2中的value的集合)

sdiff set1 set2的结果 不等于 sdiff set2 set1的结果

将set1 set2的差集存储到set3中

sdiffstore set3 set1 set2

返回set1 set2的交集

sinter set1 set2

将交集存储到set3

sinterstore set3 set1 set2

并集

sunion set1 set2

将并集存储到set3

sunionstore set3 set1 set2

将value从set1移动到set2

smove set1 set2 value

返回set中元素数量

scard set

判断value是否是set中元素

sismember set value

随机获取set值

srandmember set

Sorted sets类型 : zset

set基础上添加了顺序属性,zset会按新的值调整顺序,可以理解为有两列的数据库表,一列为value,一列为排序数值。

zset每个元素会关联一个double类型的score。

sorted set是skip list和hash table的混合体

在索引位置添加值value

zadd zest index value

移除value

zrem zest value

自增

zincrby zset number value

如果value存在于zset中,其score值增加number

如果value不存在,在zset中增加value,其score值为number

获取序列编号

zrank zset value

返回value在zset中的序列(按score升序排列),即索引(下标)

获取反向序列编号

zrevrank zset value

返回value在zset中的序列(按score降序排列),即索引(下标)

获取反向序列编号

zrevrange zset index1 index2 [withscores]

将zset按照score值降序排列,区间为index1至index2,with scores控制是否显示score值

(测试不通过)

返回给定socre区间元素数量

zcount zset score1 score2

返回给定的value的score值

zscore zset value

移除给定的索引区间的元素

zremrangebyrank zset index1 index2

移除给定的score区间的元素

zremrangebyscore zset score1 score2

Redis常用命令

键值相关命令

返回满足给定的pattern的所有key,如keys , keys mylist

keys [pattern]

确认一个key是否存在

exists key

移除一个key

del key

设置过期时间

expire key number

给key设置一个过期时间number,单位秒,ttl key显示剩余时间,过期后值为-2

设置永不过期

persist key

将expire过程中的key持久化,变成不会不过期状态,持久化之后,执行ttl key值为-1

重命名key

rename key new_name

返回key的数据类型

type key

将key移动到其他库

move key schema

服务器命令

测试连接是否存活,如果是,返回PONG

ping

打印内容

echo string

选择数据库,编号0-15

select number

退出连接

quit

返回当前数据库key的数目

dbsize

获取服务器信息和统计

info

获取服务器配置信息

config get attribute

查看全部配置

config get *

清空当前数据库

flushdb

清空所有库

flushall

高级实用特性

1.安全性,设置密码

2.主从复制

master可以有多个slave,slave还可以连接到其他slave。

主从复制不会阻塞master,在数据同步时,master可以继续处理client请求。

3.事务控制

开启事务

multi

执行事务,提交

exec

事务回滚

discard

注意:redis 部分事务失败,不会回滚全部事务

乐观锁

watch key

4.持久化机制

快照方式 snapshotting

(1)自动保存快照

配置信息:

save 900 1 #如果900秒内超过1个key被修改,则发起快照保存

save 300 10 #如果300秒内超过1个key被修改,则发起快照保存

save 60 10000 …

过程:

1. redis调用fork,为主进程(父进程)创建一个子进程

2. 父进程继续处理client请求,子进程将内存内容写入临时文件。子进程地址空间内的数据是fork时的整个数据库的快照。子进程不会影响父进程处理client请求。

3.当子进程将快照写入临时文件完毕后,用临时文件替换原来的快照文件,然后子进程退出。

(2)save / bgsave

手动保存快照,在主线程中完成快照保存,会阻塞所有的client请求。

每次都是将内存数据完整的写入到磁盘,如果数据量大,会引起大量的IO操作,影响性能。

Append-only file方式

记录每次write的操作内容

比快照方式更好

5.发布及订阅消息pub/sub

订阅tv1

client1: subscribe tv1

订阅tv2

client2: subscribe tv1 tv2

发布tv1消息,client1 client2收到消息

client3: publish tv1 program1

发布tv2消息,client2收到消息

client3:publish tv2 program2

批量订阅tv开头的频道内容

psubscribe tv*

6.Pipeline批量发送请求

可以将多个命令放到一个tcp报文一起发送、返回。

7.虚拟内存的使用

redis服务器索引文件删除,Redis基本命令整理相关推荐

  1. linux多磁盘块文件删除过程,如何整理Linux磁盘碎片

    Linux界曾经有过这样一个神话:Linux操作系统永远不需要整理磁盘碎片,相信很多人都听说过.由于Linux采用了优秀的日志文件系统(ext2.ext3.ext4,btrfs等),现在基本上不用ex ...

  2. 搭建Redis服务器

    1 案例1:搭建Redis服务器 1.1 问题 具体要求如下: 在主机 192.168.4.51 上安装并启用 redis 服务 设置变量test,值为123 查看变量test的值 1.2 步骤 实现 ...

  3. centos 启动一个redis_linux环境下安装部署redis服务器

    概述 Redis是Remote Dictionary Server的缩写.他本质上一个Key/Value数据库,与Memcached类似的NoSQL型数据库.今天把之前在生产环境下安装部署redis的 ...

  4. (17)Redis 服务器

    Redis 服务器 Redis 服务器命令主要是用于管理 redis 服务. 实例 以下实例演示了如何获取 redis 服务器的统计信息: redis 127.0.0.1:6379> INFO ...

  5. Mac启动/关闭Redis服务器

    在终端输入以下代码 启动Redis服务器 cd usr/local/redis-6.2.5/bin sudo ./redis-server sudo redis-cli 关闭Redis服务器 ps - ...

  6. 使用IDEA的Redis插件连接Redis服务器

    IDEA中的Redis插件作为Redis的可视化工具,可以通过该插件连接Redis服务器,并并进行增删改查操作. 一.IDEA安装Redis插件 1.点击 File->Setting 2.点击P ...

  7. Redis的内部运作机制——Redis详解

    本文将分五个部分来分析和总结Redis的内部机制,分别是:Redis数据库.Redis客户端.Redis事件.Redis服务器的初始化步骤.Redis命令的执行过程. 首先介绍一下Redis服务器的状 ...

  8. 【Redis源码分析】Redis命令处理生命周期

    运营研发团队 李乐 前言 本文主要讲解服务器处理客户端命令请求的整个流程,包括服务器启动监听,接收命令请求并解析,执行命令请求,返回命令回复等,这也是本文的主题"命令处理的生命周期" ...

  9. Redis数据安全与性能保障——redis读书笔记4

    4. Redis数据安全与性能保障 4.1 Redis持久化数据 为了重用数据,或者防止系统故障而降数据备份到另外一个远程位置.有些数据是可能是经过长时间的计算,或者程序正在使用redis存储的数据进 ...

最新文章

  1. HDU 6354 Everything Has Changed(余弦定理)多校题解
  2. cmd orcal 中文乱码
  3. docker-compose常用命令
  4. VTK:图片之ImageMask
  5. 反射(类的加载概述和加载时机)
  6. matlab运行支持向量机不出f,求助各位大神关于libsvm,svmpredict总是出不来结果,调试了好久还是不行...
  7. Apache的流处理技术概述
  8. python绘制k线图(蜡烛图)报错 No module named 'matplotlib.finance
  9. 广州房价与数据分析岗薪资分析
  10. android 渐变蒙版_PPT教程 | 渐变蒙版
  11. 论文解读:iDRNA-ITF:基于诱导和转移框架识别蛋白质中的DNA和RNA结合残基
  12. 【windows7桌面图标蓝底】4步帮你去掉
  13. Imagination发布PowerVR软件开发套件和工具包重要更新版本,含光线追踪代码示例...
  14. 自己照片怎么做成漫画头像?照片变漫画效果方法分享
  15. 有趣的密码学介绍~古典密码之凯撒密码来咯~
  16. android pdf编辑,PDF Reader Pro 功能强大的 PDF 阅读编辑器
  17. 阿里云云栖大会2020----云游戏平台发布(记录)
  18. python改变数组形状_NumPy数组的变形(改变数组形状)
  19. 一、JQuery选择器
  20. loadrunner入门教程(11)--回放脚本

热门文章

  1. 数据结构(04)— 线性顺序表实战
  2. 数据库 user schema sqlserver 关系
  3. python实现glove,gensim.word2vec模型训练实例
  4. Python 中 (,|)和(and,or)之间的区别 逻辑判断
  5. LeetCode中等题之删除链表的中间节点
  6. TensorFlow算子融合
  7. NVIDIA A100 GPUs上硬件JPEG解码器和NVIDIA nvJPEG库
  8. 客快物流大数据项目(四十六):Spark操作Kudu dataFrame操作kudu
  9. 2021年大数据常用语言Scala(四):基础语法学习 声明变量
  10. Java方法详细介绍