Redis 简单入门

Redis 简介:

Redis是一款开源的、高性能的键-值存储(key-value store)。它常被称作是一款数据结构服务器(data structure server)。
Redis的键值可以包括字符串(strings)类型,同时它还包括哈希(hashes)、列表(lists)、集合(sets)和 有序集合(sorted sets)等数据类型。 对于这些数据类型,你可以执行原子操作。例如:对字符串进行附加操作(append);递增哈希中的值;向列表中增加元素;计算集合的交集、并集与差集等。
为了获得优异的性能,Redis采用了内存中(in-memory)数据集(dataset)的方式。同时,Redis支持数据的持久化,你可以每隔一段时间将数据集转存到磁盘上(snapshot),或者在日志尾部追加每一条操作命令(append only file,aof)。
Redis同样支持主从复制(master-slave replication),并且具有非常快速的非阻塞首次同步( non-blocking first synchronization)、网络断开自动重连等功能。同时Redis还具有其它一些特性,其中包括简单的事物支持、发布订阅 ( pub/sub)、管道(pipeline)和虚拟内存(vm)等 。
Redis具有丰富的客户端,支持现阶段流行的大多数编程语言。


Redis安装:

下载稳定版(5.0)点击进入下载页面

安装
用如下命令下载,解压,编译Redis:

$ wget http://download.redis.io/releases/redis-5.0.4.tar.gz   //下载最新版本的Redis
$ tar xzf redis-5.0.4.tar.gz   //解压
$ cd redis-5.0.4    //改变工作目录
$ make     //编译

二进制文件现在已经编译完成并位于 scr 目录,用如下语句运行 Redis:

$ src/redis-server

现在你能用内置的客户端与Redis 进行互动

$ src/redis-cli
redis> set foo bar
OK
redis> get foo
"bar"

Redis 数据类型

Redis 五大数据类型有String 类型,Hash 类型,List 类型,Set 类型,Zset(Sortedset)类型。其中常用的是前三个。

官方提供的操作手册:手册

网页版Redis

在redis 自带的客户端中输入命令时,可以使用tab自动补齐,新手建议不要偷懒。

String 类型
String 是 redis 最基本的类型,一个key对应一个value。

赋值:set key value

取值:get key

批量赋值:mset key value … keyN valueN

批量取值:mget key … keyN

取值并赋值:getset key value

删除key:del key … keyN

数值加一:incr key

数值加N:incrby key n

数值减一:decr key

数值减N:decrby key n

字符串追加:append key value

字符串长度:strlen key

注 形如"key … keyN" 表示可以批量操作

Hash 散列类型
Redis hash 是一个键值对集合,和Java 的HashMap 类似。

Redis hash 是一个String 类型的 field 和 value 的映射表,hash特别适合用于存储对象(key 可以是对象+id,field 是对象属性,value则是属性值)。

给一个字段赋值:hset key field value

给多个字段赋值:hmset key field value … fieldN valueN

取一个字段的值:hget key field

取多个字段的值:gmset key field … fieldN

取所有的字段名和值:hgetall key

删除字段名和值:hdel key field … fieldN

判断字段是否存在:hexists key field

获取key的所有field:hkeys key

获取key的所有value:hvals key

获取field个数:hlen key

注:这里的field 就是 字段名,value 就是字段值

List 类型
Redis 列表是采用来链表来存储的简单字符串列表,按照插入顺序排序。添加元素一般从链表两端开始。

向列表左侧加元素:lpush key value … valueN

向列表右侧加元素:rpush key value … valueN

遍历列表:lrange key startIndex endIndex

获取List长度:llen key

通过下标获取值:lindex key index

通过下标设置值:lset key index value

列表左侧移除第一个元素:lpop key

列表右侧移除第一个元素:rpop key

截取保留剩下的列表:ltrim key startIndex endIndex

在制定元素插入值:linsert key after/before index value

把集合第一个元素移到其他集合中:rpoplpush key otherListKey

注:若endIndex=-1 表示最后一位;otherListKey 表示其他集合

Set 类型
Redis 的 Set 是String类型的无序集合。它是通过HashTable实现实现的,用法和 List 类型很相似。

新增集合元素:sadd key value … valueN

删除集合元素:srem key value … valueN

获取集合所有元素:smembers key

判断集合元素是否存在:sismember key value

集合差集:sdiff key1 key2

集合交集:sinter key1 key2

集合并集:sunion key1 key2

获取集合长度:scard key1

Zset 类型
Redis 的 zset(sorted set)和 set 一样也是string类型元素的集合,且不允许有重复的成员。不同的是 zset 的每个元素都会关联一个double类型的分数。zset正是通过分数来为集合中的成员进行排序。zset的成员是唯一的,但分数(score)却可以重复。

新增集合元素:zadd key score value … scoreN valueN

获取元素分数:zscore key value

按照分数从小到大排序:zrange key startIndex endIndex

按照分数从大到小排序:zrevrange key startIndex endIndex

遍历时显示分数:withscores

统计分数比value少的个数:zrank key value

统计分数比value高的个数:zrevrank key value

输出分数在制定值内的元素:zrangebyscore key score1 score2

给元素加分:zincrby key score value

获取元素个数:zcard()

统计分数内的个数:zcount key score1 score2

删除制定排名内的元素:zremrangebyrank key no1 no2

删除指定分数内的元素:zremrangebyscore key score1 score2

删除指定元素:zrem key value

注: zcount 统计分数内的个数,score1 <= keyScore =< score2;zremrangebyrank 的 no1 和 no2 表示排名的第几位。

以上命令大家可以自行前往Redis官网进行尝试
网址

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值