Redis 中所有 key-value 都储存在 Redis-Object 中,Redis-Object 主要信息有:

  • 数据类型(type)

    • string (字符串)
    • hash (Hash表)
    • list (链表)
    • set (无序不可重复集合)
    • sorted set (有序集合)
  • 编码方式(encoding)
    • raw
    • int
    • ht
    • zipmap
    • linkedlist
    • ziplist
    • intset
  • 数据指针(ptr)

  • 虚拟内存(vm)

  • …………..

一、Redis 基础命令

# 查看系统信息(Keyspace显示每个键空间中的数据数量)
info # 测试链接是否OK(PONG为成功)
ping # 退出客户端
quit # 持久化到本地
save # 查看当前键空间中数据量
dbsize # 切换键空间,默认为0
select 0 # 清除当前键空间数据(info中的Keyspace)
flushdb # 清除所有键空间数据
flushall

二、Redis 键命令

# 添加字符串类型a-abc
set a abc # 添加哈希类型a-abc
hset hsah hahaha zhangsan # 删除a-abc,返回1成功,0失败
del a # 查看所有key,*为正则表达式,表示所有
keys * # 判断是否存在,返回1为存在,0为不存在
exists a # 设置a的生命周期为10秒
expire a 10 # 查看这条数据的生存时间,单位秒,返回-1为不过期,-2表示key不存在
ttl a # 查看键a对应value的数据类型
type a # 随机获取key的值
randomkey # 重命名key,把a命名为b,会覆盖已存在的key
rename a b # 重命名key,如果b存在会重命名失败
renamenx a b

三、String 操作

# 添加字符串类型a-abc,成功返回OK
set a abc # 添加字符串类型a-abc,存活时间100秒
setex a 100 abc # 添加字符串类型a-abc,存活时间10000毫秒(10秒)
psetex a 10000 abc # 获取指定下表字符串---(abc),闭合空间,包前后边界
getrange a 0 2 # 设置新值,返回旧值---(abc)
getset a zxc # 设置多个值 a-abc,z-zxc
mset a abc z zxc # 获取多个值
mget a z # 添加字符串类型a-abc,键a存在会设置失败
setnx a abc # 添加字符串类型a-abc,其中一个key存在就会全部设置失败(有原子性)
msetnx a abc z zxc # 获取字符串长度---(3)
strlen a # key对应value为数值,value会加一
set s 21
incr s # key对应value为数值,value会加制定数量
set s 21
incrby s 100 # 同上为减操作
decr
decrby # 在key对应value的末尾添加字符串,会返回添加后的字符串
append a xyz

四、Hash 操作

# 给key为map的键值设置键为name值为jim
hset map name jim
hset map age 18 # 判断key对应value是否有存在的key,有返回1,无返回0
hexisit map name # 获取key对应value中的key对应的值,不存在返回nil
hget map name # 获取key对应value中的所有键值对
hgetall map # 获取key对应value中的所有key
hkeys map # 获取key对应value中的所有value
hvals map # 获取key对应value中的键值对数量
hlen map # 获取多个
hmget map name age # 设置多个
hmset map sex nan phone 1234568798 # 删除key对应value中的键值对
hdel map phone sex # 若map中存在name会添加失败
hsetnx map name newjim

五、List 操作

# 添加list
lpush list 1 2 3 4 5 6 7 8 9 10 # 获取长度
llen lsit # 按范围取值,栈---("10" "9" " 8")
lrange list 0 2 # 设置指定下表元素 (10->100)
lset list 0 100 # 获取指定下标元素---("5")
lindex list 5 # 移除第一个元素,并返回(100)
lpop list # 移除最后一个元素,并返回(1)
rpop list

六、Set 操作,Hash 实现,复杂度 O(1)

# 添加
sadd set a b c d
sadd set a(会失败,set不可重复集合) # 获取元素数量---(4)
scard set # 查看所有元素
smembers set # 获取差集
sadd set1 c d e f
sdiff set set1---("b" "a")
sdiff set1 set---("f" "e") # 获取交集---("c" "d")
sadd set1 c d e f
sinter set set1 # 获取并集---("d" "f" "b" "a" "c" "e")
sadd set1 c d e f
sunion set set1 # 随机获取指定个数的元素
srandmember set 2 # 判断是否为成员元素,返回1是,返回0不是
sismember set a # 移除指定成员元素
srem set a b # 移除一个随机元素并返回该元素
spop set

七、Sorted Set 操作,通过分数保证顺序,Hash 实现,复杂度 O(1)

# 添加
zadd sortedset 100 a 200 b 300 c # 元素个数---(3)
zcard sortedset # 查看元素分数---(100)
zscore sortedset a # 查看分数区间的元素个数---(2)
zcount sortedset 0 220 # 返回指定元素索引
zrank sortedset a---(0)
zrank sortedset b---(1)
zrank sortedset c---(2) # 增加元素分数
zincrby sortedset 1000 a # 按照索引获取元素---("b" "c" "a")
zrange sortedset 0 10 # 按照索引获取元素和分数---("b" 200 "c" 300 "a" 1100)
zrange sortedset 0 10 withscores

Redis 命令使用的更多相关文章

  1. Redis命令拾遗二(散列类型)

    本文版权归博客园和作者吴双共同所有,欢迎转载,转载和爬虫请注明原文地址 :博客园蜗牛NoSql系列地址  http://www.cnblogs.com/tdws/tag/NoSql/ Redis命令拾 ...

  2. redis命令总结

     Redis命令总结 redis 127.0.0.1:6379> info  #查看server版本内存使用连接等信息 redis 127.0.0.1:6379> client list  ...

  3. redis如何执行redis命令

    Redis 命令 Redis 命令用于在 redis 服务上执行操作.所以我们必须要启动Redis服务程序,也就是redis安装目录下的redis-server.exe,你可以双击执行,也可以打开cm ...

  4. 常用 redis 命令(for php)

    Redis 主要能存储 5 种数据结构,分别是 strings,hashes,lists,sets 以及 sorted sets. 新建一个 redis 数据库 $redis = new Redis( ...

  5. Redis命令大全&中文解释&在线测试命令工具&在线中文文档

    在线测试命令地址:http://try.redis.io/ 官方文档:http://redis.io/commands http://redis.io/documentation Redis 命令参考 ...

  6. Redis命令

    redis的常用命令主要分为两个方面.一个是键值相关命令.一个是服务器相关命令(redis-cli进入终端) 1.键值相关命令 keys * 取出当前所有的key exists name 查看n是否有 ...

  7. redis命令参考

    http://doc.redisfans.com/ 进入redis命令行模式方式: 1.进入redis安装目录 2.运行redis-cli

  8. Redis 命令参考

    Redis 命令参考 http://redis.readthedocs.org/en/latest/index.html

  9. Redis 命令总结

    Redis命令总结   连接操作相关的命令 quit:关闭连接(connection) auth:简单密码认证 持久化 save:将数据同步保存到磁盘 bgsave:将数据异步保存到磁盘 lastsa ...

  10. redis命令大全

    redis windows下使用及redis命令 Redis 是一个开源,高级的键值对的存储.它经常作为服务端的数据结构,它的键的数据类型能够是strings, hashs, lists, sets( ...

随机推荐

  1. conda升级TensorFlow

    1.打开Anaconda prompt,查看tensorflow各个版本 anaconda search -t conda tensorflow 2.选择自己系统的版本:运行以下命令 anaconda ...

  2. PHP经典面试题01

    五.基础及程序题(建议使用你擅长的语言:C/C++.PHP.Java) 5.写一个排序算法,可以是冒泡排序或者是快速排序,假设待排序对象是一个维数组.(提示:不能使用系统已有函数,另外请仔细回忆以前学 ...

  3. Shodan全世界在线设备搜索引擎

    reproduction from https://danielmiessler.com/study/shodan/ What is Shodan? Shodan is a search engine ...

  4. Wechat alert

    企业微信号登录--注册企业号或者企业微信 添加子部门 部门添加成员 创建应用 需要接收告警的人员关注企业号 企业号已经被部门成员关注 企业号有一个可以发送消息的应用,一个授权管理员,可以使用应用给成员 ...

  5. HTML的BODY内标签介绍

    一.基本标签 <body> <b>加粗</b> <i>斜体</i> <u>下划线</u> <s>删除线& ...

  6. Flutter——消息框(Fluttertoast)

    引入依赖: dependencies: fluttertoast: ^3.1.3 import 'package:flutter/material.dart'; import 'package:flu ...

  7. const变量可以修改么?

    遇到了一个关于const修饰的变量值是否能修改问题,虽然我知道const变量在某些情况下可以通过指向它的指针来间接修改,但是对原理还是很模糊,今天就整理了一下. 一.三个试验压压惊 1.直接对cons ...

  8. 并发编程.md

    操作系统基础 人机矛盾: CPU利用率低 磁带存储+批处理:降低数据的读取时间,提高CPU的利用率 多道操作系统------在一个任务遇到IO的时候主动让出CPU,给其他任务使用 由操作系统完成 切换 ...

  9. Go语言中的数据格式(json、xml 、msgpack、protobuf)

    在分布式的系统中,因为涉及到数据的传输,所以一定会进行数据的交换,此时就要定义数据交换的格式,例如二进制.Json.Xml等等.本篇文章就是总结一下常用的几种数据格式. 一.Json格式 如果想使用J ...

  10. 【新品发布】智能驾驶实车测试系统-VDAS

    智能驾驶技术的迭代研发,需要多种传感器.海量数据.海量场景的支撑.而目前多种传感器Gbit/s级别的数据同步采集.海量数据的快速分析和评估.关键场景的切片和提取,是业界公认的棘手问题. 为了解决上述的 ...