memcached redis基本操作
memcached
安装与连接
使用docker进行启动:docker run -p 11211:11211 -d --name memcached memcached
使用telnet 进行连接:telnet 10.141.4.25 11211
常用操作
存储命令
set
set key flags exptime bytes [noreply]
value
实例:
set mykey 05005
relax
add
add key flags exptime bytes [noreply]
value
实例:
add newkey 04009
memcached
replace
replace key flags exptime bytes [noreply]
value
实例:
replace newkey 04005
sleep
prepend
prepend key flags exptime bytes [noreply]
value
实例:
prepend newkey 04006
go to
append key flags exptime bytes [noreply]
value
实例:
append newkey 04003
ok?
cas
cas key flags exptime bytes unique_cas_token [noreply]
value
查找命令
get
get key
get key1 key2 key3
gets
gets key
gets key1 key2 key3
delete
delete key [noreply]
incr key increment_value
decr key increment_value
stats
用于返回统计信息例如 PID(进程号)、版本号、连接数等。
stats items
stats slabs
sitats sizes
flush_all
java连接Memcached
依赖:
<dependency><groupId>net.spy</groupId><artifactId>spymemcached</artifactId><version>2.12.1</version></dependency>
redis
简介
一个高性能的key-value数据库。支持数据的持久化,支持key-value,list,set,zset,hash的存储。它通常被称为数据结构服务器,因为值(value)可以是五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。
读110000次/s, 写81000次/s。
安装和连接
docker run -d -p 6361:6379 --name redis redis
redis-cli -h 10.127.12.16 -p 6361
常用操作
String
# String字符串
SET key value //将字符串值value关联到key。
EXPIRE key seconds //设置生存时间,单位为秒。
TTL key //剩余生存时间。
SETRANGE key offset value //用value参数覆写(Overwrite)给定key所储存的字符串值,从偏移量offset开始。
SETEX key seconds value //将值value关联到key,并将key的生存时间设为seconds(以秒为单位)。
MSET key value [key value ...] //同时设置一个或多个key-value对。
MSETNX key value [key value ...] //同时设置一个或多个key-value对,当且仅当key不存在。
APPEND key value //如果key已经存在并且是一个字符串,APPEND命令将value追加到key原来的值之后。不存在就添加。
GET key //返回key所关联的字符串值。
MGET key [key ...] //返回所有(一个或多个)给定key的值。
GETRANGE key start end //返回key中字符串值的子字符串,字符串的截取范围由start和end两个偏移量决定(包括start和end在内)。
GETSET key value //将给定key的值设为value,并返回key的旧值。
STRLEN key //返回key所储存的字符串值的长度。
DECR key //将key中储存的数字值减一。
DECRBY key decrement //将key所储存的值减去减量decrement。
INCR key //将key中储存的数字值增一。
INCRBY key increment //将key所储存的值加上增量increment。
SETBIT key offset value //对key所储存的字符串值,设置或清除指定偏移量上的位(bit)。
GETBIT key offset //对key所储存的字符串值,获取指定偏移量上的位(bit)。
Hash
# Hash表
HSET key field value //将哈希表key中的域field的值设为value。
HSETNX key field value //将哈希表key中的域field的值设置为value,当且仅当域field不存在。
HMSET key field value [field value ...] //同时将多个field - value(域-值)对设置到哈希表key中。
HGET key field //获取哈希表key的域field的值。
HMGET key field [field ...] //同事获取多个哈希表key的多个域的值。
HGETALL key //返回哈希表key中,所有的域和值。
HDEL key field [field ...] //删除哈希表key中的一个或多个指定域,不存在的域将被忽略。
HLEN key //返回哈希表key中域的数量。
HEXISTS key field //查看哈希表key中,给定域field是否存在。
HINCRBY key field increment //为哈希表key中的域field的值加上增量increment。
HKEYS key //返回哈希表key中的所有域。
HVALS key //返回哈希表key中的所有值。
List
# Lish表
LPUSH key value [value ...] //将一个或多个值value插入到列表key的表头。
LPUSHX key value //将值value插入到列表key的表头,当且仅当key存在并且是一个列表。当key不存在时,LPUSHX命令什么也不做。
RPUSH key value [value ...] //将一个或多个值value插入到列表key的表尾。
RPUSHX key value //将值value插入到列表key的表尾,当且仅当key存在并且是一个列表。当key不存在时,RPUSHX命令什么也不做。
LPOP key //移除并返回列表key的头元素。
RPOP key //移除并返回列表key的尾元素。
BLPOP key [key ...] timeout //是列表的阻塞式(blocking)弹出原语,当给定列表内没有任何元素可供弹出的时候,连接将被BLPOP命令阻塞,直到等待超时或发现可弹出元素为止。
BRPOP key [key ...] timeout //是列表的阻塞式(blocking)弹出原语,当给定列表内没有任何元素可供弹出的时候,连接将被BLPOP命令阻塞,直到等待超时或发现可弹出元素为止。
LLEN key //返回列表key的长度。
LRANGE key start stop //返回列表key中指定区间内的元素,区间以偏移量start和stop指定。
LREM key count value //移除列表中与参数value相等的元素。count > 0,从表头开始向表尾搜索,移除与value相等的元素,数量为count。count=0,删除所有。
LSET key index value //将列表key下标为index的元素的值甚至为value。
LTRIM key start stop //对一个列表进行修剪(trim),就是说,让列表只保留指定区间内的元素,不在指定区间之内的元素都将被删除。
LINDEX key index //返回列表key中,下标为index的元素。
LINSERT key BEFORE|AFTER pivot value //将值value插入到列表key当中,位于值pivot之前或之后。
RPOPLPUSH source destination //将列表source中的最后一个元素(尾元素)弹出,并返回给客户端。将source弹出的元素插入到列表destination,作为destination列表的的头元素。
BRPOPLPUSH source destination timeout //是RPOPLPUSH的阻塞版本,当给定列表source不为空时,BRPOPLPUSH的表现和RPOPLPUSH一样。
Set
#集合基础知识
A = {'a','b','c'}
B = {'a','e','i','o','u'}inter(x, y): 交集,在集合x和集合y中都存在的元素。
inter(A, B) = {'a'}union(x, y): 并集,在集合x中或集合y中的元素,如果一个元素在x和y中都出现,那只记录一次即可。
union(A,B) = {'a','b','c','e','i','o','u'}diff(x, y): 差集,在集合x中而不在集合y中的元素。
diff(A,B) = {'b','c'}card(x): 基数,一个集合中元素的数量。
card(A) = 3空集: 基数为0的集合。
#Set
SADD key member [member ...] //将一个或多个member元素加入到集合key当中,已经存在于集合的member元素将被忽略。
SREM key member [member ...] //移除集合key中的一个或多个member元素,不存在的member元素会被忽略。
SMEMBERS key //返回集合key中的所有成员。。
SISMEMBER key member //判断member元素是否是集合key的成员。
SCARD key //返回集合key的基数(集合中元素的数量)。
SMOVE source destination member //将member元素从source集合移动到destination集合。
SPOP key //移除并返回集合中的一个随机元素。
SRANDMEMBER key //返回集合中的一个随机元素。
SINTER key [key ...] //返回给定集合的交集。
SINTERSTORE destination key [key ...] //此命令等同于SINTER,但它将结果保存到destination集合,而不是简单地返回结果集。
SUNION key [key ...] //返回给定集合的并集。
SUNIONSTORE destination key [key ...] //此命令等同于SUNION,但它将结果保存到destination集合,而不是简单地返回结果集。
SDIFF key [key ...] //返回所有给定集合的差集。
SDIFFSTORE destination key [key ...] //此命令等同于SDIFF,但它将结果保存到destination集合,而不是简单地返回结果集。
Zset
#Sorted Set
ZADD key score member [[score member] [score member] ...] //将一个或多个member元素及其score值加入到有序集key当中。score值可以是整数值或双精度浮点数。
ZREM key member [member ...] //移除有序集key中的一个或多个成员,不存在的成员将被忽略。
ZCARD key //返回有序集key的基数。
ZCOUNT key min max //返回有序集key中,score值在min和max之间(默认包括score值等于min或max)的成员。
ZSCORE key member //返回有序集key中,成员member的score值。
ZRANGE key start stop [WITHSCORES] //返回有序集key中,指定区间内的成员。
ZREVRANGE key start stop [WITHSCORES] //返回有序集key中,指定区间内的成员,其中成员的位置按score值递减(从大到小)来排列。
ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count] //返回有序集key中,所有score值介于min和max之间(包括等于min或max)的成员。有序集成员按score值递增(从小到大)次序排列。
ZREVRANGEBYSCORE key max min [WITHSCORES] [LIMIT offset count] //返回有序集key中,score值介于max和min之间(默认包括等于max或min)的所有的成员。有序集成员按score值递减(从大到小)的次序排列。
ZRANK key member //返回有序集key中成员member的排名。其中有序集成员按score值递增(从小到大)顺序排列。
ZREMRANGEBYRANK key start stop //移除有序集key中,指定排名(rank)区间内的所有成员。
ZREMRANGEBYSCORE key min max //移除有序集key中,所有score值介于min和max之间(包括等于min或max)的成员。
ZINTERSTORE destination numkeys key [key ...] [WEIGHTS weight [weight ...]] [AGGREGATE SUM|MIN|MAX]
//计算给定的一个或多个有序集的交集,其中给定key的数量必须以numkeys参数指定,并将该交集(结果集)储存到destination。
ZUNIONSTORE destination numkeys key [key ...] [WEIGHTS weight [weight ...]] [AGGREGATE SUM|MIN|MAX]
//计算给定的一个或多个有序集的并集,其中给定key的数量必须以numkeys参数指定,并将该并集(结果集)储存到destination。
memcached redis基本操作相关推荐
- Redis 基本操作
Redis 基本操作 参考:An introduction to Redis data types and abstractions 中文翻译:看云 Redis命令查询:Command Referen ...
- centos7 nginx php5.4,详解CentOS7.0下Nginx+PHP5.4+MySQL5.5+Memcached+Redis的架构部署
详解Nginx+PHP5.4+MySQL5.5+Memcached+Redis的架构部署需要安装Nginx.PHP.mysql.memcached.redis! 一.硬件: 1.服务器型号:HP DL ...
- Redis基本操作——队列 List(原理篇)
2019独角兽企业重金招聘Python工程师标准>>> Redis基本操作--List(原理篇) 学习过数据结构的同学,一定对链表(Linked List)十分的熟悉.相信我们自己也 ...
- 宝塔linux优化wordpress,WordPress加速 宝塔面板速度优化方案 Memcached + Redis | 「讲文兄博客」...
WordPress 网站的速度应该上每个站长必须关注的一个问题,对于刚使用 WordPress 的朋友,优化网站速度是比较困难的事情,找不到好的解决方案.今天就来推荐 WordPress 速度优化方案 ...
- Memcached Redis构建缓存服务器
一.Memcached介绍 RDBMS即关系数据库管理系统(Relational Database Management System) 许多Web应用都将数据保存到 RDBMS中,应用服务器从中读取 ...
- vanish(squid) + HAProxy + nginx + memcached(redis)
为什么80%的码农都做不了架构师?>>> 1. Load-balance then cache +-- Cache server #1 (varnish) -- App ser ...
- Memcached/Redis可视化客户端TreeNMS使用
今天发现了一个非常好用的国产Memcached/Redis可视化客户端TreeNMS,官网地址为:http://www.treesoft.cn/dms.html 下载解压直接可以使用,使用步骤如下: ...
- Redis基本操作进阶篇学习--排序
Redis基本操作进阶篇学习--排序 有序集合 SORT命令 常用参数介绍 针对数字元素进行排序 针对非数字元素排序 按范围获取排序结果 基于参考键进行排序 保存排序结果 注意事项 有序集合 Redi ...
- Memcached, Redis, MongoDB区别
mongodb和memcached不是一个范畴内的东西.mongodb是文档型的非关系型数据库,其优势在于查询功能比较强大,能存储海量数据.mongodb和memcached不存在谁替换谁的问题. 和 ...
最新文章
- 全面解读:腾讯 CDB 内核特性与优化实践
- 读写应用程序数据-SQLite3
- Python基础数据类型---bytes
- php 判断3个数谁最小,Python编程学习之如何判断3个数的大小
- java环境变量的配置和使用
- javaSE---一个小项目(ATM机)
- 新浪微博MySQL优化的小结和反思 | 数据库专题02
- 25深入理解C指针之---传递数组
- Oculus消费者版在路上,留给“山寨”VR的时间有多少?
- Vue.js快速原型开发问题汇总
- 最高分计算机公式,您好,excel怎么用函数公式计算最高分人数!用excle算最高分...
- axure中继器求和_axure中继器使用方法图文详解
- Notes Domino V12Beta划重点
- FANUC机器人:奇异点回避功能介绍与使用方法
- 数字接龙 用计算机完成318,微信报名接龙数字如何排列对齐传递
- 2016 Micu课堂王铎UI图标设计特训班高级高清原版教程
- Java实现京东登录
- 查看数据是否成功发送到kafka
- Sigma Designs SMP8910媒体处理器的3DTV、蓝光和OTT体验
- 【推荐热门主题:魔兽世界高清桌面壁纸】