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. springcloud 之Ribbon客户端负载均衡配置使用

    pom.xml添加配置说明:这里服务注册与发现用的是Eureka,所以消费者端需要引入eureka,使用EurekaClient来调用服务 <dependency> <groupId ...

  2. Oracle表空间满处理方式

    一.查询表空间常规语句 1.查询表空间使用情况 SELECT Upper(F.TABLESPACE_NAME)         "表空间名", D.TOT_GROOTTE_MB   ...

  3. centos 中的vsftpd 配置

    一.安装vsftpd 1.1 检查系统是否已经安装过vsftpd了 [root@localhost /]# rpm -aq vsftpd 如果返回结果显示: vsftpd--.el7.x86_64 # ...

  4. ubuntu---记录.重装电脑之设置电脑信息

    (1)设置网络(2)安装一个中文输入法(3)CUDA+驱动+cuDNN+添加到系统环境中(4)禁止内核更新(5)安装好opencv之后,查看安装的版本(6)查看自带的python版本(7)设置系统里p ...

  5. ubuntu安装anaconda3+tensorflow(cpu)+pycharm(windows几乎一样)

    网上乱七八糟有的都是别人怎么写自己也怎么写,其实很简单. 首先是anaconda3的安装: 直接上官网:https://www.anaconda.com/download/ 下载下来之后进入文件所在目 ...

  6. 系统间HTTP调用代码封装

    痛点 最近接手一个老项目,这个项目几经转手,到我这里时,发现代码的可阅读性实在是很差,对于一个有点代码洁癖的我来说,阅读起来实在是很难受.其中一个痛点,现在就拉出来讲讲.该项目需要与另外一个项目进行业 ...

  7. async/await中reject的问题

    promise 返回的 resolve 对象可能用 await 去接,但是 reject 无法用 await 接收到,所以要用 try catch 去处理 例如发送邮件的接口设置: async fun ...

  8. ASP.NET MVC 入门5、View与ViewData

    View建立时有MVC View Page 和 MVC View Content Page两种类型, 前者为标准View, 后者为可继承Master母版页的View. Asp.Net MVC 默认使用 ...

  9. 金蝶二次开发C#

    1 建立C#类库项目 2 引用EBOS组建Kingdee.K3.BOS.PlugInModel 3 示例代码 usingSystem; usingSystem.Collections.Generic; ...

  10. C#常用控件和属性

    目录1.窗体(Form)2.Label (标签)控件3.TextBox(文本框)控件4.RichTextBox控件5.NumericUpDown控件6.Button(按钮)控件7.GroupBox(分 ...