redis基本操作介绍
一、字符串
单个设置:set key value,如果key不存在则设置键值对,如果存在则修改
批量设置:mset key1 value1 [key2 value2]
单个获取:get key,如果key不存在返回结果为nil
批量获取:mget key1 [key2]
获取并修改:getset key value,如果key存在则修改值为value并返回key的原值,如果key不存在则设置key的值为value且返回值为nil
查询:keys 正则匹配,例如keys *
删除:del key,如果存在则返回删除的个数,不存在则反馈0

append key var:在key的值后面拼接字符串var,如果key不存在则相当于set,例如name值为Alice,则append name es后name的值为Alicees
getrange key start end:返回子串,字符串其实从0开始,包括开始和结束,例如hobby值为basketball,getrange hobby 2 5返回sket
strlen key:反馈key的值的长度
incr key:incr表示+1,如果key不存在则默认初始值为0,然后+1;如果key存在且为整数,则值+1;如果key存在且不为整数,则报错
decr key:decr表示-1,用法类似incr
incrby key n:incrby步长为n表示+n,用法类似incr
decrby key n:做减法-n,用法类似incrby
二、哈希
单个设置:hset obj key value
批量设置:hmset obj key1 value1 [key2 value2]...
单个获取:hget obj key
批量获取:hmget obj key1 [key2]...
获取所有:hgetall obj,返回所有的key和对应的值
删除key:hdel obj key1 [key2]
删除哈希:del obj
判断hash中是否存在某个key:hexists obj key,1表示存在0表示不存在
获取key的个数:hlen obj
获取所有key:hkeys obj
获取所有key的值:hvals obj

三、列表
列表有顺序,即有下标,下标从0开始,0表示左边第一位(头部),-1表示右边第一位(尾部)。
从左边插入元素:lpush mylist value1 [value2]
从右边插入元素:rpush mylist value1 [value2]
移出并获取左边第一个元素:lpop mylist
移出并获取右边第一个元素:rpop mylist
查看指定索引范围的元素:lrange mylist start end,start和end分别表示起始和结束索引,常用lrange mylist 0 -1查看整个列表
查看指定索引的元素:lindex mylist index,index表示索引位置
获取列表长度:llen mylist
设置指定索引元素的值:lset mylist index value
从左边开始在第一个指定元素前/后插入元素:linsert mylist before/after value1 value2,即从左开始在第一个value1前/后插入value2
保留指定索引范围的元素:ltrim mylist start stop,start和end分别表示起始和结束索引
删除列表:del mylist

lrem mylist count value:count为数量,value为元素,表示删除count个value,分为三种情况:
count为正数:从左边开始删除,删除count个value
count为负数:从右边开始删除,删除|count|个value
count为0:删除所有的value

rpoplpush mylist1 mylist2:将mylist1右边的第一个元素移除,并且添加到mylist2的左边

四、集合
向集合中添加成员:sadd myset value1 [value2 ...]
获取集合所有成员:smembers myset
统计集合成员数量:scard myset
判断成员是否属于集合:sismember myset value
随机返回成员:srandmember myset [n],默认随机返回集合中的一个成员(不是删除)
随机删除成员:spop myset [n],默认随机删除一个,参数n表示随机删除n个,如果n超过成员个数则集合清空不会报错
删除指定成员:srem myset value1 [value2 ...]
移动成员:smove myset1 myset2 value,将myset1中的成员移动到myset2中
返回多个集合的交集:sinter myset1 myset2 [myset3 ...]
返回多个集合的并集:sunion myset1 myset2 [myset3 ...]
返回多个集合的差集:sdiff myset1 myset2 [myset3 ...],即myset1 - myset2 [ - myset3]
返回多个集合的交集的元素个数并将成员存储到指定集合中:sinterstore destition myset1 myset2 [myset3 ...]
返回多个集合的并集的元素个数并将成员存储到指定集合中:sunionstore destition myset1 myset2 [myset3 ...]
返回多个集合的差集的元素个数并将成员存储到指定集合中:sdiffstore destition myset1 myset2 [myset3 ...]


redis基本操作介绍的更多相关文章
- 三、Redis基本操作——List
小喵的唠叨话:前面我们介绍了Redis的string的数据结构的原理和操作.当时我们提到Redis的键值对不仅仅是字符串.而这次我们就要介绍Redis的第二个数据结构了,List(链表).由于List ...
- 二、Redis基本操作——String(实战篇)
小喵万万没想到,上一篇博客,居然已经被阅读600次了!!!让小喵感觉压力颇大.万一有写错的地方,岂不是会误导很多筒子们.所以,恳请大家,如果看到小喵的博客有什么不对的地方,请尽快指正!谢谢! 小喵的唠 ...
- 一、Redis基本操作——String(原理篇)
小喵的唠叨话:最近京东图书大减价,小喵手痒了就买了本<Redis设计与实现>[1]来看看.这里权当小喵看书的笔记啦.这一系列的模式,主要是先介绍Redis的实现原理(可能很大一部分会直接照 ...
- Redis基本操作——List
Redis基本操作——List(原理篇) 学习过数据结构的同学,一定对链表(Linked List)十分的熟悉.相信我们自己也曾经使用过这种数据结构. 链表分为很多种:单向链表,双向链表,循环链表,块 ...
- Redis(二):Redis入门介绍
Redis入门介绍目录导航: 入门概述 VMWare + VMTools千里之行始于足下 Redis的安装 Redis启动后杂项基础知识讲解 入门概述 是什么 Redis:REmote DIction ...
- [转] Redis系统性介绍
Redis系统性介绍 http://blog.nosqlfan.com/html/3139.html?ref=rediszt 虽然Redis已经很火了,相信还是有很多同学对Redis只是有所听闻或者了 ...
- Redis基本操作-20150608
Redis基本操作-20150608 [http://my.oschina.net/u/241255/blog/206991] Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存 ...
- 【原】Redis基本操作
Redis基本操作 遍历操作 Pub-Sub server Lua脚本 Redis中的这些操作都是不分大小写的. 除了针对于具体类型的具体操作.还有一些其他操作. 遍历操作 SCAN cursor [ ...
- PyQuery基本操作介绍
PyQuery基本操作介绍 PyQuery为Python提供一个类似于jQuery对HTML的操作方式,可以使用jQuery的语法对html文档进行查询操作. 本文以百度首页为例来介绍PyQuery的 ...
随机推荐
- 如何在Linux下使用Tomcat部署Web应用(图文)
学习Java必不可少的视同Tomcat,但是如果不会使用tomcat部署项目,那也是白扯,在这里教大家如果在Linux系统下视同Tomcat部署Web应用. 工具/原料 Apache-tomc ...
- P2194 HXY烧情侣【Tarjan】
前言 当时和\(GYZ\)大佬一起做这个题,他表示这个题对他很不友好(手动滑稽) 题目描述 众所周知,\(HXY\) 已经加入了 \(FFF\) 团.现在她要开始喜(sang)闻(xin)乐(bing ...
- css设置边框阴影;box-shadow的使用
html代码: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <t ...
- Oracle 11g各种服务作用以及哪些需要开启
Windwos server 2012 R2上成功安装Oracle 11g后共有7个服务,如果全局数据库名为orcl,则Oracle服务分别为 Oracle ORCL VSSWriter Servic ...
- 洛谷 P1314 【聪明的质监员】
二分 思路: 这道题思路还是蛮好想的,一开始想的是暴力枚举w,然后再仔细一看,w增长时,y肯定减小,那么思路出来了: 二分 但是在时二分时,分得是左右端点lr,做错了 求出w的上下界,然后二分 只二分 ...
- 【必读】前端需要懂的 APP 容器原理
App 容器,简言之,App 承载某类应用(H5/RN/Weex/小程序/Flutter ...)的运行环境,可主动干预并进行功能扩展,达到丰富能力.优化性能.提升体验的目的,如页面数据预取(pref ...
- Java 从入门到进阶之路(二十九)
在之前的文章我们已经可以对本地对文件和目录进行新建和删除等操作,接下来我们来对文件内对具体内容进行操作. 如下代码,我们实现了一个基本的文件写入: /** * java.io.RandomAccess ...
- PHP用PHPExcel导出有多个工作表的Excel表格(thinkPHP3.2.3)
直接上代码: //导出excel public function excel() { //引入相关文件 import("Org.Util.PHPExcel"); import(&q ...
- 利用binarySearch实现抽奖计算逻辑
前言 我们平时抽奖总感觉想抽到最高的奖那么难,哈哈当然不会那么容易啦,正巧写了个抽奖的功能,趁着有时间把抽奖的功能实现整理一下,我们要抽奖首先要定义一个奖品的实体类,这个实体类中包含奖品的基本信息,比 ...
- 每日一题 - 剑指 Offer 43. 1~n整数中1出现的次数
题目信息 时间: 2019-07-01 题目链接:Leetcode tag: 整除 取余 规律 递归 难易程度:中等 题目描述: 输入一个整数 n ,求1-n这n个整数的十进制表示中1出现的次数. 例 ...