Redis命令笔记
一、string类型:
(1)set :设置key对应的值为string类型的value,例:set name helloworld
(2)get :获取key对应的值为string类型的value,例:get name
(3)setnx : 如果key已经存在,返回0设置失败,nx即not exist,例: setnx name helloworld
(4)setex : 设置key的有效期, 例:setex name 10 helloworld (10秒)
(5)setrange :替换value的字符, 例:setrange name 5 hiyou
(6)mset :设置多个,失败返回0全部不成功,例:mset name1 hello name2 9
(7)msetnx :设置多个,如果key已经存在,返回0全部不成功,例:msetnx name3 hello name2 9
(8)getset :返回旧值设置新值,例:getset name hiyou
(9)getrange :获取子字符串,例:getrange name 5 10(从第5个截取到第10个字符)
(10)mget :获取多个,例:mget name1 name2
(11)incr :数值自增1,返回自增后的值,例:incr name2
(12)incrby :数值自增n(可为负值),返回自增后的值,例:incr name2 5
(13)decr :数值自减1,返回自减后的值,例:decr name2 5
(14)decrby :数值自减n(可为负值),返回自减后的值,例:decrby name2 5
(15)append :给value追加字符串,返回新增加后字符串长度,例:append name hi
(16)strlen :获取字符串长度,例:strlen name
二、hash类型:string类型的field和value映射表,适合存对象
(1)hset:设置hash(表) field(字段)的值,例:hset biao ziduan1 hello
(2)hget:获取hash(表) field(字段)的值,例:hget biao ziduan1
(3)hsetnx:设置hash(表) field(字段)的值,如果已经存在,返回0设置失败,例:hsetnx biao ziduan1 hello
(4)hmset:设置多个 field(字段)的值,例:hmset biao ziduan1 hello ziduan2 world
(5)hmget:获取多个 field(字段)的值,例:hmget biao ziduan1 ziduan2
(6)hincrby:hash(表) field(字段)数值自增n(可为负值),返回自增后的值,例:hincrby biao ziduan1 5
(7)hexists:判断hash(表)的field(字段)自否存在,0不存在,1存在,例:hexists biao ziduan1
(8)hlen:获取hash(表)的field(字段)数,例:hlen biao
(9)hdel:删除ash(表) 的field(字段),例:hdel biao ziduan1
(10)hkeys:获取hash(表)所有的field(字段),例:hkeys biao
(11)hvals:获取hash(表)所有的值,例:hvals biao
(12)hgetall:获取hash(表)所有的field(字段)和值,例:hgetall biao
三、list类型:链表机构,主要功能是push、pop、获取一个范围的所有值等,操作key理解为链表的名字。redis的list类型其实就是一个每个子元素都是string类型的双向链表。我们可以通过push、pop操作从链表的头部或者尾部添加、删除元素,这样list既可以作为栈,又可以作为队列。
(1)lpush:在key对应的list的头部添加字符元素,例:lpush list hello
(2)rpush:在list的尾部添加字符元素,例:rpush list world
(3)lrange:获取list里的值,例:lrange list 0 -1(-1代表最后);
(4)linsert:在list特定位置添加字符串,例:linsert list before hi nihao
(5)lset:替换list中指定下标的元素,例:lset list 2 lu
(6)lrem:list中删除n个和value相同的元素(n<0从尾删除,n=0全部删除),例:lrem list 1 hi
(7)ltrim:保留指定key的值范围内的数据,其余的删掉,例:ltrim list 2 3
(8)lpop:从list头部删除元素,返回删除值,例:lpop list
(9)rpop:从list尾部删除元素,返回删除值,例:rpop list
(10)rpoplpush:从第一个list的尾部移除元素并添加到第二个list头部,返回该元素,例:rpoplpush list1 list2
(11)lindex:返回list中index位置的元素,例:lindex list 2
(12)llen:返回list元素个数,例:llen list
四、set类型:是string类型的无序集合。通过hash tables实现,添加、删除和查找的复杂度都是0(1)。对集合我们可以取并集、交集、差集。通过这些操作我们可以实现sns中的好友推荐和blog的tag功能。
(1)sadd:向集合中添加元素,例:sadd name hello
(2)smembers:获取集合的元素,例:smembers name
(3)srem:删除元素,例:srem name hello
(4)spop:随机删除一个元素,例:spop name
(5)sdiff:返回两个集合的差集,例:sdiff name1 name2 (name1-name2)
(6)sdiffstore:返回差集,将差集存入另一个集合,例 :sdiffstore name3 name1 name2
(7)sinter:返回两个集合的交集,例:sinter name1 name2
(8)sinterstore:返回交集,将交集存入另一个集合,例 :sinterstore name3 name1 name2
(9)sunion:返回两个集合的并集,例:sunion name1 name2
(10)sunionstore:返回并集,将并集存入另一个集合,例 :sunionstore name3 name1 name2
(11)smove:将元素从一个集合移到另一个集合,例:smove name1 name2 hi
(12)scard:获取集合元素个数,例:scard name
(13)sismember:判断集合中是否存在该元素,例:sismember name hi
(14)srandmember:随机返回集合的一个元素,例:srandmember name
五、sorted set类型:有序集合,set的升级版,增加了顺序属性,这一属性在增加修改元素时可以指定,每次指定后,zset会自动按新的值调整顺序。
(1)zadd:向集合中添加元素,该元素若存在,则更新其顺序,例:zadd name 1 hello
(2)zrange:获取集合元素,例:zrange name 0 -1 withscores
(3)zrem:删除指定元素,例:zrem name hi
(4)zincrby:如果集合中存在该元素,则该元素的下标增加n,否则向该集合中添加该元素,其下标增值为n,例:zincrby name 2 hi
(5)zrank:从小到大排序后,返回元素的下标,例:zrank name hi
(6)zrevrange:从大到小排序后,返回所有元素,例:zrevrange name hi
(7)zrangebyscore:根据下标范围,获取元素,例:zrangebyscore name 2 3 withscores
(8)zcount:根据下标范围,获取元素数,例:zcount name 2 3
(9)zcard:获取集合元素总数,例:zcard name
(10)zremrangebyrank:根据下标范围,删除元素,例:zremrangebyrank name 2 3
(11)zremrangebyscore:根据顺序范围,删除元素,例:zremrangebyscore name 2 3
六、键值相关命令
(1)keys:满足给定pattren的所有key,例:keys *
(2)exists:确认一个key是否存在,例:exists name
(3)del:删除一个key,例:del name
(4)expire:设置一个key的过期时间,例:expire name 10
(5)move:将当前的key转移到其他数据库,例:move name 1
(6)select:选择数据库,例:select 0 (选择当前数据库,共0-15)
(7)persist:移除给定的过期时间,例:persist name
(8)randomkey:随机返回key空间的一个key,例:randomkey
(9)rename:重命名key,例:rename name1 name2
(10)type:返回key的类型,例:type name
七、服务器的相关命令
(1)ping:测试连接是否存活,例:ping
(2)echo:输出,例:echo hello
(3)dbsize:返回当前数据库中key的数目,例:dbsize
(4)info:获取服务器的信息和统计,例:info
(5)config get:实时转存收到的请求,例:config get name
(6)flushdb:删除当前数据库的所有key,例:flushdb
(7)flushall:删除所有数据库的所有key,例:flushall
Redis命令笔记的更多相关文章
- Redis学习笔记(二)-key相关命令【转载】
转自 Redis学习笔记(二)-key相关命令 - 点解 - 博客园http://www.cnblogs.com/leny/p/5638764.html Redis支持的各种数据类型包括string, ...
- Redis学习笔记(3)——Redis的命令大全
Redis是一种nosql数据库,常被称作数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Map), 列表(list), 集合(sets) 和 有序集合(sorted se ...
- redis实战笔记(3)-第3章 Redis命令
第3章 Redis命令 本章主要内容 字符串命令. 列表命令和集合命令 散列命令和有序集合命令 发布命令与订阅命令 其他命令 在每个不同的数据类型的章节里, 展示的都是该数据类型所独有的. 最 ...
- Redis学习笔记--常用命令
以下为本人学习Redis的备忘录,记录了大部分常用命令 1.客户端连接redis服务端: ===启动Redis服务端 redis-server /yourpath/redis.conf ===启动Re ...
- Redis学习笔记(十一) 命令进阶:Connection(连接)
原文链接:http://doc.redisfans.com/connection/index.html auth password 有时候处于安全性考虑,我们可以使用密码来保护redis服务器,每次连 ...
- redis 学习笔记(6)-cluster集群搭建
上次写redis的学习笔记还是2014年,一转眼已经快2年过去了,在段时间里,redis最大的变化之一就是cluster功能的正式发布,以前要搞redis集群,得借助一致性hash来自己搞shardi ...
- Redis学习笔记~目录
回到占占推荐博客索引 百度百科 redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合). ...
- Redis学习笔记4-Redis配置详解
在Redis中直接启动redis-server服务时, 采用的是默认的配置文件.采用redis-server xxx.conf 这样的方式可以按照指定的配置文件来运行Redis服务.按照本Redi ...
- Redis学习笔记7--Redis管道(pipeline)
redis是一个cs模式的tcp server,使用和http类似的请求响应协议.一个client可以通过一个socket连接发起多个请求命令.每个请求命令发出后client通常会阻塞并等待redis ...
随机推荐
- centos 研究
默认工具: yum , (Ubuntu: apt-get)
- 【原】iOS学习之PINCache第三方缓存框架
在项目中总是需要缓存一些网络请求数据以减轻服务器压力,业内也有许多优秀的开源的解决方案.通常的缓存方案都是由内存缓存和磁盘缓存组成的,内存缓存速度快容量小,磁盘缓存容量大速度慢可持久化. 1.PINC ...
- spark 入门整理
1.第一个概念:RDD RDD(Resilient DistributedDatasets) ,弹性分布式数据集,是分布式内存的一个抽象概念,RDD提供了一种高度受限的共享内存模型,即RDD是只读的记 ...
- Apache InterfaceAudience
InterfaceAudience 类包含三个注解类型,用来被说明被他们注解的类型的潜在的使用范围(audience).@InterfaceAudience.Public: 对所有工程和应用可用@In ...
- [转]Android ListView 与 RecyclerView 对比浅析—缓存机制
从源码角度剖析ListView 与 RecyclerView 缓存机制的不同 https://zhuanlan.zhihu.com/p/23339185 原文地址:http://dev.qq.com/ ...
- pythonchallenge 解谜 Level 6
第六关地址 http://www.pythonchallenge.com/pc/def/channel.html 和前几关一样,首先看网页源码吧.反正不看也没办法... <html>< ...
- 安装wampserver遇到,无法启动此程序,丢失MSVCR110.dll
这个问题遇到多次了,根据网上的解决办法,下载这个动态链接库文件,安装到指定位置重启系统后还是解决不了,其实这个文件有时候是存在的也会出现这个问题.问题截图如下 其实这个我认为是系统缺少了相关组组件的安 ...
- 在cmd命令行使用Maven Archetype插件 generate命令创建简单的java web项目
前提: 1.下载apache-maven:https://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.3.9/binaries/apache ...
- RunTimeException包括:
大约有如下几种: NullPointerException - 空指针引用异常 ClassCastException - 类型强制转换异常 IllegalArgumentException- 传递非法 ...
- 学习笔记——SQLite介绍
简介:Google为android的较大数据的处理提供了SQLlite, 他在数据存储.管理.维护.等各方面都相当出色功能也非常强大. 1.创建数据库 Android 为了让我们能够更加方便地管理数据 ...