一、基础命令

提示:Redis不区分命令大小写
1.获得符合规则的键名列表
keys pattern    //pattern支持glob风格通配符格式
2.判断一个键是否存在
exists key    //如果键存在则返回整数类型1,否则返回0
3.删除键
del key [key …]    //可以删除一个或多个键,返回值是删除的键的个数。
注意:DEL 命令的参数不支持通配符,但可以执行redis-cli DEL 'redis-cli KEYS "user:*"'来达到效果
4.获得键值的数据类型
type key

二、数据类型

五种数据类型:string(字符串类型)、hash(散列类型)、list(列表类型)、set(集合类型)、zset(有序集合类型);另外,包括 2.8.9 版本添加了 HyperLogLog 结构;

1.字符串类型

//赋值与取值
set key value
get key
//递增数字
incr key
//增加指定的整数
incrby key increment
//减少指定的整数
decr key
decrby key decrement
//增加指定浮点数
incrbyfloat key increment
//向尾部追加值
append key value
//获取字符串长度
strlen key
//同时获得/设置多个键值
mget key [key …]
mset key value [key value …]
//位操作
getbit key offset
setbit key offset value
//获得字符串类型键中值是1的二进制位个数
bitcount key [start] [end]        
//位运算
bitop operation{OR | AND | XOR | NOT} destkey key [key …]

2.散列类型(hash)

//赋值与取值
hset key field value
hget key field
hmset key field value [field value …]
hmget key field [field …]
hgetall key
hexists key field
hincrby key field increment
hdel key field [field …]
hkeys key
hvals key
hlen key

3.列表类型

lpush key value [value …]    //增加
rpush key value [value …]
lpop key        //弹出
rpop key
llen key
lrange key start stop
lrem key count{>0 | =0 |  <0} value
//获得/设置指定索引的元素值
lindex key index    
lset key index value
//只保留列表指定片段
ltrim key start end    
linsert key BEFORE|AFTER pivot value
//将元素从一个列表转到另一个列表
rpoplpush source destination        

4.集合类型

sadd key member [member …]
srem key member [member …]
smembers key
sismember key member
//集合间运算
sdiff key [key …]    A - B
sinter key [key …]    交集
sunion key [key …]    并集
//获得集合中的元素个数
scard key        
//进行集合运算并将结果存储
sdiffstore destination key [key …]
sinterstore destination key [key …]
sunionstore destination key [key …]
//随机获得集合中的元素
srandmember key [count]    
//从集合中弹出一个元素
spop key        

5.有序集合类型

zadd key score member [score member …]
//获得元素的分数
zscore key member        
//获得排名在某个范围的元素列表
zrange key start stop [WITHSCORES {连分数一起显示}]    
zrevrange  key start stop [WITHSCORES]
//获得指定分数范围的元素
zrangebyscore key min max [WITHSCORES] [LIMIT offset count]    
zincrby key increment member
//获得集合中元素的数量
zcard key        
//获得指定分数范围內的元素个数
zcount key min max    
zrem key member [member …]
zremrangebyrank key start stop
zremrangebyscore key min max
zrank key member        //获得元素的排名
zrevrank key member    //反
//计算有序集合的交集
zinterstore destination numkeys key [key …] [WEIGHTS weight [weight …]]
[AGREGATE SUM|MIN|MAX]

6.HyperLogLog

在 2.8.9 版本添加了 HyperLogLog 结构,用做基数统计的算法,HyperLogLog 的优点是,在输入元素的数量或者体积非常非常大时,计算基数所需的空间总是固定的、并且是很小的;

基数?

比如数据集 {1, 3, 5, 7, 5, 7, 8}, 那么这个数据集的基数集为 {1, 3, 5 ,7, 8}, 基数(不重复元素)为5。 基数估计就是在误差可接受的范围内,快速计算基数。

//添加指定元素
pfadd key element [element ...]     
//返回基数估算值
pfcount  key [key ...]     
//将多个 HyperLogLog 合并为一个 HyperLogLog
pfmerge destkey sourcekey [sourcekey ...]     

http://www.runoob.com/redis/redis-tutorial.html

 

Redis数据类型及基本命令的更多相关文章

  1. redis教程(一)-----redis数据类型、基本命令、发布订阅以及持久化

    简介 Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API.从2010年3月15日起,Redis的开发工作由VMwa ...

  2. 初识redis数据类型

    初识redis数据类型 1.String(字符串) string是redis最基本的类型,一个key对应一个value. string类型是二进制安全的.意思是redis的string可以包含任何数据 ...

  3. redis数据类型及使用场景

    Redis数据类型  String: Strings 数据结构是简单的key-value类型,value其实不仅是String,也可以是数字. 常用命令:  set,get,decr,incr,mge ...

  4. Redis数据类型介绍

    Redis 数据类型 Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合). String(字符串) st ...

  5. redis数据类型

    Redis 数据类型 Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合). String(字符串) st ...

  6. Redis-cluster集群【第一篇】:redis安装及redis数据类型

    Redis介绍: 一.介绍 redis 是一个开源的.使用C语言编写的.支持网络交互的.可以基于内存也可以持久化的Key-Value数据库. redis的源码非常简单,只要有时间看看谭浩强的C语言,在 ...

  7. Lua 数据类型和 Redis 数据类型之间转换

    当 Lua 通过 call() 或 pcall() 函数执行 Redis 命令的时候,命令的返回值会被转换成 Lua 数据结构. 同样地,当 Lua 脚本在 Redis 内置的解释器里运行时,Lua ...

  8. redis数据类型-散列类型

    Redis数据类型 散列类型 Redis是采用字典结构以键值对的形式存储数据的,而散列类型(hash)的键值也是一种字典结构,其存储了字段(field)和字段值的映射,但字段值只能是字符串,不支持其他 ...

  9. redis数据类型-字符串类型

    Redis数据类型 字符串类型 字符串类型是Redis中最基本的数据类型,它能存储任何形式的字符串,包括二进制数据.你可以用其存储用户的邮箱.JSON化的对象甚至是一张图片.一个字符串类型键允许存储的 ...

随机推荐

  1. 上传200G文件

    最近遇见一个需要上传百G大文件的需求,调研了七牛和腾讯云的切片分段上传功能,因此在此整理前端大文件上传相关功能的实现. 在某些业务中,大文件上传是一个比较重要的交互场景,如上传入库比较大的Excel表 ...

  2. UVa 11235 Frequent values (RMQ && 区间出现最多次的数的次数)

    题意 : 给出一个长度为 n 的不降序序列,并且给出 q 个形如(L, R)的问询,问你这个区间出现的最多次的数的次数. 分析 : 很自然的想到将区间“缩小”,例如1 1 2 3 3 3就可以变成2 ...

  3. UVa 1601 || POJ 3523 The Morning after Halloween (BFS || 双向BFS && 降维 && 状压)

    题意 :w*h(w,h≤16)网格上有n(n≤3)个小写字母(代表鬼).要求把它们分别移动到对应的大写字母里.每步可以有多个鬼同时移动(均为往上下左右4个方向之一移动),但每步结束之后任何两个鬼不能占 ...

  4. idea启动或install时报错:There are test failures,如何跳过测试?

    用idea  install项目时失败,报这样的错: [INFO] BUILD FAILURE [INFO] --------------------------------------------- ...

  5. [BZOJ3453]tyvj 1858 XLkxc:拉格朗日插值

    分析 之前一直不知道拉格朗日插值是干什么用的,只会做模板题,做了这道题才明白这个神奇算法的用法. 由题意可知,\(f(x)\)是关于\(x\)的\(k+1\)次函数,\(g(x)\)是关于\(x\)的 ...

  6. wait, notify 使用清晰讲解

    一个庙里, 三个和尚,只有一个碗, 三个和尚都要吃饭,所以每次吃饭的时候, 三个和尚抢着碗吃. package interview.java.difference.l05; public class ...

  7. angular 的配置文件的应用

    为什么要使用 angular 的配置文件: 好处:我们可以在一个页面上,实现多个页面的跳转的感觉,但只是在一个页面上进行的操作: 我们的准备工作:下载 angular-route.js 插件 在依赖模 ...

  8. linux配置ssh公钥认证,打通root用户的免密码输入的scp通道

    1.ssh-keygen ssh-keygen是unix-like系统的一个用来生成.管理ssh公钥和私钥的工具. 2.用法 常用的重要的选项有: -b num   指定生成多少比特长度的key,单位 ...

  9. 【nginx】常用命令 启动|停止|重启|重新读取配置-centOS7

     查看服务的当前状态 (flaskApi) [root@67 goTest]# systemctl status nginx.service ● nginx.service - The nginx H ...

  10. 阶段3 1.Mybatis_11.Mybatis的缓存_6 Mybatis中的一级缓存

    Mybatis中的一级缓存和二级缓存         一级缓存:             它指的是Mybatis中SqlSession对象的缓存.             当我们执行查询之后,查询的结 ...