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个字节,这不仅会消耗内存还会降低 ...
随机推荐
- python2 与 python3 实现共存
已有配置 Anaconda2+python2.7 方案一:直接安装官网原生python3.6 1.修改根目录下python.exe ->python3.exe pythonw.exe - ...
- iOS GCD中级篇 - dispatch_semaphore(信号量)的理解及使用
理解这个概念之前,先抛出一个问题 问题描述: 假设现在系统有两个空闲资源可以被利用,但同一时间却有三个线程要进行访问,这种情况下,该如何处理呢? 或者 我们要下载很多图片,并发异步进行,每个下载都会开 ...
- PAT 甲级 1135 Is It A Red-Black Tree
https://pintia.cn/problem-sets/994805342720868352/problems/994805346063728640 There is a kind of bal ...
- Eclipse:An internal error occurred during: "Building workspace". GC overhead limit exceeded
http://blog.csdn.net/shaozhang872196/article/details/18552273 http://www.cnblogs.com/sonofelice/p/52 ...
- Oracle数据库SQLPLUS 连接显示 ??? 的解决
linux下 安装了中文版本的,造成sqlplus 连接时出现了乱码 如图 一开始以为是LANG 变量的问题 后来发现是NLS_LANG的问题 解决方法: export NLS_LANG=" ...
- Qt ------ 覆盖eventFilter(),捕获组件事件,事件处理
在Qt中,当一个事件发生时(例如鼠标点击或某个键盘上的按键按下),其传递顺序如图所示.从这个图可以看出,事件过滤器首先获得事件,其次才是部件的 event 函数,最后是部件的事件处理函数 事件过滤器由 ...
- Unsupported major.minor version ... JDK具体对应版本
java.lang.UnsupportedClassVersionError: hudson/remoting/Launcher : Unsupported major.minor version 5 ...
- Ouroboros Snake POJ - 1392(数位哈密顿回路)
看hdu 2894的题意 两个题一样 旋转鼓的表面分成m块扇形,如图所示(m=8).图中阴影区表示用导电材料制成,空白区用绝缘材料制成,终端a.b和c是3(k=3)处接地或不是接地分别用二进制信号0 ...
- centos Install Mrtg
安装支持软件包yum –y install gcc perl gd libpng zlib net-snmp mrtg配置snmpd编辑/etc/snmp/snmpd.conf文件备份snmpd.co ...
- Python的单向链表实现
思路 链表由节点组成,先规定节点(Node),包含data和指向下个节点的next 初始化 data当然就是传入的data了,next指向None 添加 分两种情况: 链表为空,那么头节点和尾节点都指 ...