Redis教程

Redis入门

本文主要是介绍Redis入门,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

什么redis (了解)

在这里插入图片描述

redis高性能和使用场景(了解)

在这里插入图片描述

redis下载安装使用(了解)

redis数据结构(掌握)

redis存储的是:key–value格式的数据,其中key都是字符串
value的数据结构5(种):

1.字符串类型string(可以为整形、浮点型和字符串,统称为元素)
string 类型是二进制安全的。意思是 redis 的 string 可以包含任何数据。比如jpg图片或者序列化的对象。string 类型是 Redis 最基本的数据类型,string 类型的值最大能存储 512MB。
常用命令:set、get、decr、incr、mget等。注意:一个键最大能存储512MB。

2.哈希类型hash : map格式(hash的key必须是唯一的)
Redis hash 是一个键值(key=>value)对集合;是一个 string 类型的 field 和 value 的映射表,hash 特别适合用于存储对象。每个 hash 可以存储 2^32 -1 键值对(40多亿)。
常用命令:hget、hset、hgetall等。
应用场景:存储一些结构化的数据,比如用户的昵称、年龄、性别、积分等,存储一个用户信息对象数据。

3.列表类型list : linkedlist格式。支持重复元素(实现队列,元素不唯一,先入先出原则)
Redis 列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)。list类型经常会被用于消息队列的服务,以完成多程序之间的消息交换。
列表最多可存储 232 - 1 元素 (4294967295, 每个列表可存储40多亿)。
常用命令:lpush、rpush、lpop、rpop、lrange等。

4.集合类型set :不允许重复元素,没有顺序
Redis的Set是string类型的无序集合。和列表一样,在执行插入和删除和判断是否存在某元素时,效率是很高的。集合最大的优势在于可以进行交集并集差集操作。Set可包含的最大元素数量是
232 - 1(4294967295, 每个集合可存储40多亿个成员)。
集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。
常用命令:sadd、spop、smembers、sunion等。
应用场景:
1、利用交集求共同好友。
2、利用唯一性,可以统计访问网站的所有独立IP。
3、好友推荐的时候根据tag求交集,大于某个threshold(临界值的)就可以推荐。

5.有序集合类型zset(sorted set:有序集合)不允许重复元素,且元素有顺序
Redis zset 和 set 一样也是string类型元素的集合,且不允许重复的成员。不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。zset的成员是唯一的,但分数(score)却可以重复。sorted set是插入有序的,即自动排序。
当你需要一个有序的并且不重复的集合列表时,那么可以选择sorted set数据结构。
常用命令:zadd、zrange、zrem、zcard
应用举例:(1)例如存储全班同学的成绩,其集合value可以是同学的学号,而score就可以是成绩。(2)排行榜应用,根据得分列出topN的用户等。

redis操作字符串(掌握)

常用操作指令:(key代表变量名称,vaule代表变量值)
存储(可覆盖): set key value 存多个mset key1 value1 key2 value2…
获取:get key 取多个mget key1 key2…
删除 del key1 key2…
以下只针对整数值类型数据(当key没有被定义时,会自动定义默认值为0)
自加1:incr key
自减1:decr key
加: incrby key 要加的数值
减: decrby key 要加的数值
针对小数:
incrbyfloat key要加的数值
decrbyfloat key 要加的数值
返回key对应值的长度strlen key

redis操作哈希类型hash(掌握)

常用操作命令:(key键值 value=(变量名1 变量值1,变量名2 变量名2 …)value对应的多个键值对)
存储:hset key 变量名 变量值 存多个 hmset key 变量名1 变量值1,变量名2 变量名2 …
获取:hget key 变量名 取多个hmget key 变量名1 变量名2…
删除:hdel key 变量名1 变量名2…
获取key下的所有值:hgetall key
获取key对应键值对的个数:hlen key

redis操作列表类型list(掌握)

常用操作命令:(key键值 value=(变量1 变量2…) value对应多个值)
存储:
从左边向左侧存储:lpush key 变量1 变量2…
从右边向右侧存储:rpush key 变量1 变量2…
取值:
取出左边第一个lpop key
取出右边第一个rpop key
取多个值:lrange key 起始索引 终止索引 (起始索引是0 终止索引是-1取出所有)
取出指定索引的值lindex key 索引
删除:lrem key 0 h1(0代表删除所有h1值, 2 h2 从前方删除前两个h2值,-2 h3从后方删除后两个h3值)
获取key对应键值的个数:llen key
llen:查看某个list数据类型的长度

redis操作集合类型set(掌握)

常用操作命令:(key键值 value=(变量1 变量2…) value对应多个值)
存储:sadd key 变量1 变量2…
取值取出所有: smembers key
判断元素是否在集合中:sismember key 值
删除元素:srem key 值1 值2…
获取集合元素个数:scard key
获取当前索引元素:spop key 索引

redis操作有序集合类型sorted set(掌握)

常用操作命令:(key键值 value=(数值1 变量1 数值2 变量2…) value对应多个值对
每一个值对的数值用来排序决定值对的位置,数值可以是int,float,-inf,+inf(无穷)
)
存储:zadd key 数值1 变量1 数值2 变量2…
获取:zrange key 起始索引 终止索引 withscore(起始索引是0 终止索引是-1取出所有)
删除: zrem key 变量1 变量2…
获取集合中元素个数:zcard key
获取score区间内的元素:zrangebyscore key 起始score 结束score withscore
增减元素的score:zincrby key 要增减的值 变量名
获取score区间元素的个数: zcount key 起始score 结束score
获取元素的索引:zrank key 元素
获取元素的score:zscore key 元素

其他常用命令(了解)

切换数据库命令: select index(index数据库索引从0开始)
获取当前数据库的所有的key:keys *
获取key的类型:type key
删除key:del key1 key2…
判断是否存在key:exists key

这篇关于Redis入门的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!