Redis 命令使用
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 命令使用的更多相关文章
- Redis命令拾遗二(散列类型)
本文版权归博客园和作者吴双共同所有,欢迎转载,转载和爬虫请注明原文地址 :博客园蜗牛NoSql系列地址 http://www.cnblogs.com/tdws/tag/NoSql/ Redis命令拾 ...
- redis命令总结
Redis命令总结 redis 127.0.0.1:6379> info #查看server版本内存使用连接等信息 redis 127.0.0.1:6379> client list ...
- redis如何执行redis命令
Redis 命令 Redis 命令用于在 redis 服务上执行操作.所以我们必须要启动Redis服务程序,也就是redis安装目录下的redis-server.exe,你可以双击执行,也可以打开cm ...
- 常用 redis 命令(for php)
Redis 主要能存储 5 种数据结构,分别是 strings,hashes,lists,sets 以及 sorted sets. 新建一个 redis 数据库 $redis = new Redis( ...
- Redis命令大全&中文解释&在线测试命令工具&在线中文文档
在线测试命令地址:http://try.redis.io/ 官方文档:http://redis.io/commands http://redis.io/documentation Redis 命令参考 ...
- Redis命令
redis的常用命令主要分为两个方面.一个是键值相关命令.一个是服务器相关命令(redis-cli进入终端) 1.键值相关命令 keys * 取出当前所有的key exists name 查看n是否有 ...
- redis命令参考
http://doc.redisfans.com/ 进入redis命令行模式方式: 1.进入redis安装目录 2.运行redis-cli
- Redis 命令参考
Redis 命令参考 http://redis.readthedocs.org/en/latest/index.html
- Redis 命令总结
Redis命令总结 连接操作相关的命令 quit:关闭连接(connection) auth:简单密码认证 持久化 save:将数据同步保存到磁盘 bgsave:将数据异步保存到磁盘 lastsa ...
- redis命令大全
redis windows下使用及redis命令 Redis 是一个开源,高级的键值对的存储.它经常作为服务端的数据结构,它的键的数据类型能够是strings, hashs, lists, sets( ...
随机推荐
- python 3.6 + robotFramework自动化框架 环境搭建、学习笔记
################################################################# #author: 陈月白 #_blogs: http://www.c ...
- 实现对MySQL数据库进行分库/分表备份(shell脚本)
工作中,往往数据库备份是件非常重要的事情,毕竟数据就是金钱,就是生命!废话不多,下面介绍一下:如何实现对MySQL数据库进行分库备份(shell脚本) Mysq数据库dump备份/还原语法: mysq ...
- 解决mysql登录警告问题
一.前言 我们在登录mysql的时候经常会看到一句警告: Warning: Using a password on the command line interface can be insecure ...
- 说说你对kubernetes的理解(简单)
目录 整体概述 pod工作流程 k8s网络 flannel 网络策略,network proxy 几套证书理解 组件 master管理节点上组件 node节点 整体概述 k8s是一个编排工具,是谷歌的 ...
- Linux 之 软件安装
单纯一个操作系统是没有办法满足我们的需求的,所以需要各种安装各种软件来满足我们日常工作.生活需求.一般情况下,Linux常用的安装方式有两种,以CentOS为例: 1.从源代码安装软件 将软件源代码编 ...
- 每日一题-——LeetCode(617) 合并二叉树
题目描述: 给定两个二叉树,想象当你将它们中的一个覆盖到另一个上时,两个二叉树的一些节点便会重叠.你需要将他们合并为一个新的二叉树.合并的规则是如果两个节点重叠,那么将他们的值相加作为节点合并后的新值 ...
- CMake---基础练习2
# t2/ CMakeLists.txt cmake_minimum_required(VERSION 2.8) #1 #PROJECT (HELLO) #SET(SRC_LIST main.c) # ...
- P2002 消息扩散[SCC缩点]
题目描述 有n个城市,中间有单向道路连接,消息会沿着道路扩散,现在给出n个城市及其之间的道路,问至少需要在几个城市发布消息才能让这所有n个城市都得到消息. 输入格式 第一行两个整数n,m表示n个城市, ...
- Java中String、StringBuffer、StringBuilder、StringTokenizer的区别
Java语言中,有4个类可以对字符或字符串进行操作,它们是Character.String.StringBuffer.StringTokenizer,其中Character用于单个字符操作,Strin ...
- MySQL查询去重
方法一: distinct select count(distinct CName) from Course 方法二: 使用分组 group by select count(1) from Cours ...