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( ...
随机推荐
- KeepAlive细谈
来自: http://blog.sina.com.cn/s/blog_e59371cc0102ux5w.html 最近工作中遇到一个问题,想把它记录下来,场景是这样的: 从上图可以看出,用户通过Cli ...
- jenkins中的流水线( pipeline)的理解(未完)
目录 一.理论概述 Jenkins流水线的发展历程 什么是Jenkins流水线 一.理论概述 pipeline是流水线的英文释义,文档中统一称为流水线 Jenkins流水线的发展历程 在Jenki ...
- 基于数组的shell脚本编写
基于数组的shell脚本编写 2017年08月17日 22:56:36 momokuku123 阅读数:369 数据:变量,文件,数组 变量:存储单个元素的内存中的一块存储空间 数组:存储多个元素的内 ...
- Mysql 中的SSL 连接
Mysql 中的SSL 连接 以下来自网络参考和自己测试整理,没有查找相关资料.若有错误之处,欢迎指正. 当前的Mysql 客户端版本基本都不太能支持 caching_sha2_password 认证 ...
- Linux/Aix日常报错整理
[root@localhost ~]# umount /mnt umount.nfs: /mnt: device is busy umount.nfs: /mnt: device is busy 问题 ...
- unittest 运行slenium(二)---打开浏览器及元素操作
一: 打开win10中安装的浏览器 1. 打开的浏览器有:谷歌/火狐/ie/edge 2. 当浏览器的driver没有配置在path环境下时,在启动浏览器时需要传入driver的所在位置 3. 其中火 ...
- cdh-hbase用户无法执行命令
- PAT基础级-钻石段位样卷2-7-1 心理阴影面积 (5 分)
这是一幅心理阴影面积图.我们都以为自己可以匀速前进(图中蓝色直线),而拖延症晚期的我们往往执行的是最后时刻的疯狂赶工(图中的红色折线).由红.蓝线围出的面积,就是我们在做作业时的心理阴影面积. 现给出 ...
- Linux常用命令,及网络测试命令
出处:https://i.linuxtoy.org/files/pdf/fwunixref.pdf ======================================= 1. ifconfi ...
- python_面向对象——多态
1.同一接口,多种形态 class Document: def __init__(self,name): self.name = name def show(self): # 异常处理:提示子类必须把 ...