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. python 3.6 + robotFramework自动化框架 环境搭建、学习笔记

    ################################################################# #author: 陈月白 #_blogs: http://www.c ...

  2. 实现对MySQL数据库进行分库/分表备份(shell脚本)

    工作中,往往数据库备份是件非常重要的事情,毕竟数据就是金钱,就是生命!废话不多,下面介绍一下:如何实现对MySQL数据库进行分库备份(shell脚本) Mysq数据库dump备份/还原语法: mysq ...

  3. 解决mysql登录警告问题

    一.前言 我们在登录mysql的时候经常会看到一句警告: Warning: Using a password on the command line interface can be insecure ...

  4. 说说你对kubernetes的理解(简单)

    目录 整体概述 pod工作流程 k8s网络 flannel 网络策略,network proxy 几套证书理解 组件 master管理节点上组件 node节点 整体概述 k8s是一个编排工具,是谷歌的 ...

  5. Linux 之 软件安装

    单纯一个操作系统是没有办法满足我们的需求的,所以需要各种安装各种软件来满足我们日常工作.生活需求.一般情况下,Linux常用的安装方式有两种,以CentOS为例: 1.从源代码安装软件 将软件源代码编 ...

  6. 每日一题-——LeetCode(617) 合并二叉树

    题目描述: 给定两个二叉树,想象当你将它们中的一个覆盖到另一个上时,两个二叉树的一些节点便会重叠.你需要将他们合并为一个新的二叉树.合并的规则是如果两个节点重叠,那么将他们的值相加作为节点合并后的新值 ...

  7. CMake---基础练习2

    # t2/ CMakeLists.txt cmake_minimum_required(VERSION 2.8) #1 #PROJECT (HELLO) #SET(SRC_LIST main.c) # ...

  8. P2002 消息扩散[SCC缩点]

    题目描述 有n个城市,中间有单向道路连接,消息会沿着道路扩散,现在给出n个城市及其之间的道路,问至少需要在几个城市发布消息才能让这所有n个城市都得到消息. 输入格式 第一行两个整数n,m表示n个城市, ...

  9. Java中String、StringBuffer、StringBuilder、StringTokenizer的区别

    Java语言中,有4个类可以对字符或字符串进行操作,它们是Character.String.StringBuffer.StringTokenizer,其中Character用于单个字符操作,Strin ...

  10. MySQL查询去重

    方法一: distinct select count(distinct CName) from Course 方法二: 使用分组 group by select count(1) from Cours ...