redis的入门篇---五种数据类型及基本操作
查看所有的key
keys *
清空所有的key
flushall
检查key是否存在
exists key
设置已存在的key的时长
expire key //设置key为10s
查看key还剩多少时长
ttl key //-1是永久 -2是不存在
查看key的类型
type key
随机取出一个key
randomkey
重命名key
rename key newkey //如果key存在 直接覆盖 renamenx key newkey //如果key存在 则失败 返回0
设置一定时间的key
setex key seconds val //key 时间 val psetex key seconds val //和上面的功能一样 只不过多加一个p 区别是上面的时间是秒级别的 这个是毫秒级别的
字符串类型:
得到指定范围的字符串
getrange key //闭合区间 取三个长度的字符串
得到旧的值并赋予新的值
getset key newval //比如说get a 得到A
//然后getset a AA 还是得到A
//但此时get a 得到的是AA
在字符串后面追加字符串
append key append //意思是在key的val后面加上append字符串
hash哈希(其实就是一个Map<String,Map<String,String>>格式的数据结构)
设置值
hset map name liuzhonghua //成功1
检验是否存在
hexists map name //存在1 不存在0
得到值
hget map name //返回liuzhonghua
得到key所有的值
hgetall map //返回 下面的这中格式 key val key val name
liuzhonghua
age sex
man
得到值里面所有的key 和所对应的val
hkeys map //返回 name
age
sex
hvals map
liuzhonghua
23
man
list列表
lpush list //lpush 特点是最后放进去的总是在第一位
取一定范围的list值和特定索引的值
lrange list //得到1 2 3 lindex list //得到4
移除最后一个元素和第一个元素
lpop list //移除第一个元素 6 返回6 rpop list //移除最后一个元素 1 返回1
将指定下标元素替换
lset list 0 a //将下标为0的元素替换成a
删除元素,返回元素个数
LREM KEY_NAME COUNT VALUE // 被移除元素的数量。 列表不存在时返回 0 。
set列表(特点:无序,不保证你放进去的和得到的顺序一致,值不重复)
增加
sadd set a b c d //key是set val 是 a b c d
得到这个集合的数量
scard set //返回4
查看key的val
smembers set //a b c d
两个集合的差集
sdiff set1 set2 //意思是set1 里面的值减去 set2里面的值 得到set1里面的值
两个集合的交集
sinter set1 set2
两个集合的并集
sunion set1 set2
返回指定数量的随机数
srandmember set1 //随机返回set1的两个值
判断是否是集合的元素
sismember set1 a //如果是 返回1 否则返回0
移除指定的val
srem set1 a b //移除set1集合里面的a和b 返回成功的个数 2
随机移除set里面的val 并返回移除的值
spop set1 //随机返回一个值
zset (有序集合,不重复)
增加(还得必须这样写 真操蛋 看不懂 后面都是一对一对的 艹,,,我懂了,100这样的数值是必须写的,因为是靠他们排序的,我们平常获取的值都是abc
这样的,切记)填坑,很有用这样的属性!!!!!!!!!!!!!
zadd zset a b c // key是zset a的分数是100 b的分数是200 c的分数是300
查看有几个元素
zcard zset //返回3
查看指定的某个值(还得必须这样写 )
zscore zset a //返回100
返回符合指定区间的数量
zcount zset //返回2 闭合区间 就是说a 和 b 他俩所对应的值在0和200之间 符合要求
查看索引
zrank zset a //0
zrank zset b //1
zrank zset c //2
增加值
zincrby zset a //意思是让a的值增加1000 当然a的顺序也会改变,因为zset是有序的 是根据他所对应的值来排序的
获取指定的元素
zrange zset //意思是获取zset的前100个元素 a b c 如果想获取一对一对的 比如说 a 100 b 200 c 300 zrange zset 0 100 withscores
高能预警:介绍几个常用的方法 (zset有序集合的方法)
Redis Zremrangebyrank 命令: http://www.runoob.com/redis/sorted-sets-zremrangebyrank.html
Redis Zremrangebyrank 命令用于移除有序集中,指定排名(rank)区间内的所有成员。 返回 被移除成员的数量。
Redis Zrevrange 命令 : http://www.runoob.com/redis/sorted-sets-zrevrange.html
Redis Zrevrange 命令返回有序集中,指定区间内的成员。其中成员的位置按分数值递减(从大到小)来排列

redis的入门篇---五种数据类型及基本操作的更多相关文章
- <Redis> 入门二 五种数据类型的操作、通用key的操作、发布订阅
文档参考:http://www.redis.net.cn/ string - > key value 简单的keyvalue,常规计数:例如微博数,粉丝数 set -> key v ...
- redis五种数据类型的使用场景
string 1.String 常用命令: 除了get.set.incr.decr mget等操作外,Redis还提供了下面一些操作: 获取字符串长度 往字符串append内容 设置和获取字符串的某一 ...
- redis五种数据类型的使用(zz)
redis五种数据类型的使用 redis五种数据类型的使用 (摘自:http://tech.it168.com/a2011/0818/1234/000001234478_all.shtml ) 1.S ...
- redis五种数据类型的使用
redis五种数据类型的使用 redis五种数据类型的使用 (摘自:http://tech.it168.com/a2011/0818/1234/000001234478_all.shtml ) 1.S ...
- Redis五种数据类型-设置key的过期时间
1.redis命令客户端 [root@localhost bin]# ./redis-cli 127.0.0.1:6379> #是否运行着 127.0.0.1:6379> ping PON ...
- Redis安装及五种数据类型
redis是非关系型数据库,也叫内存数据库.数据是键值对的形式,通过key查找value 安装Radis:6379 sudo apt-get update sudo apt-get install r ...
- Redis: Redis支持五种数据类型
ylbtech-Redis: Redis支持五种数据类型 Redis支持五种数据类型:string(字符串) ,hash(哈希),list(列表),set(集合)及zset(sorted set:有序 ...
- Redis支持的五种数据类型
redis支持的五种数据类型: 1.string(字符串) 2.hash(哈希) Redis hash 是一个键值(key=>value)对集合. Redis hash是一个string类型的f ...
- Redis学习笔记(3)—— 五种数据类型&keys的通用操作
一.Redis数据结构介绍 redis是一种高级的key-value的存储系统,其中的key是字符串类型,尽可能满足如下几点: 1)key不要太长,最好不要操作1024个字节,这不仅会消耗内存还会降低 ...
随机推荐
- b总结
Beta 答辩总结 评审表 组名 格式 内容 ppt 演讲 答辩 总计 天机组 15 15 13 15 14 72 PMS 16 16 15 16 16 79 日不落战队 16 17 17 17 17 ...
- slf4j的java包冲突问题
- Jquery ajax 表单.serialize() 和serializeArray()序列化$.param()
.serialize() 方法创建以标准 URL 编码表示的文本字符串.它的操作对象是代表表单元素集合的 jQuery 对象. 表单元素有几种类型: <form> <div>& ...
- WebService概述
一.WebService介绍 什么是WebService? 一言以蔽之:WebService是一种跨编程语言和跨操作系统平台的远程调用技术. 所谓跨编程语言和跨操作平台,就是说服务端程序采用java编 ...
- Python——反射
反射的定义:使用字符串类型的名字 去操作变量 hasattr 函数 与getatter配合使用,用来判断变量是否存在 if hasatter(my,'a'):#如果为真执行 getatter(my,' ...
- LODOP在页面不同位置输出页眉页脚
Lodop中的页眉页脚项的特点是:每页固定位置输出,具体该特点可查看本博客的其他博文:Lodop打印项对象类型属性区分 Lodop中有可以设置打印项次页偏移属性,但是该方法是针对单个打印项自动分页的, ...
- Quartz.NET 前一次任务未执行完成时不触发下次的解决方法
如图所示,在Job 上 加 [DisallowConcurrentExecution] 特性
- MyBatis学习(七)MyBatis关联映射之多对多映射
对于数据库中的多对多关系建议使用一个中间表来维护关系. 1.创建四张表,分别为用户表,商品表,订单表,中间表. DROP TABLE IF EXISTS `t_user`; CREATE TABLE ...
- BZOJ2212 POI2011Tree Rotations(线段树合并)
显然子树内的操作不会对子树外产生影响.于是贪心,若交换之后子树内逆序对减少就交换. 这个东西可以用权值线段树计算.操作完毕后需要对两棵权值线段树合并,这个的复杂度是两棵线段树的重复节点个数.那么总复杂 ...
- BZOJ2001 HNOI2010城市建设(线段树分治+LCT)
一个很显然的思路是把边按时间段拆开线段树分治一下,用lct维护MST.理论上复杂度是O((M+Q)logNlogQ),实际常数爆炸T成狗.正解写不动了. #include<iostream> ...