redis入门知识点的示例分析
这篇文章主要介绍了redis入门知识点的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
创新互联建站专注于网站建设|成都网站维护|优化|托管以及网络推广,积累了大量的网站设计与制作经验,为许多企业提供了网站定制设计服务,案例作品覆盖三轮搅拌车等行业。能根据企业所处的行业与销售的产品,结合品牌形象的塑造,量身定制品质网站。
一 前言
先介绍一下redis概念:
Redis是一个开源的key-value存储系统,它属于NOSQL(Not Only SQL),不仅仅是关系型数据库;
再看看redis的优势:
丰富的数据类型
支持键过期特性
每条指令都是原子性操作
读写性能极高
初步了解一下redis的附加特性
可以主存与二级存储,主从复制;
支持数据持久化存储
linux 安装 redis 链接 : https://www.jianshu.com/p/bc84b2b71c1c
windows安装redis链接: https://www.jianshu.com/p/e16d23e358c0
docker 安装 redis 链接 https://juejin.im/post/5ca59dece51d4508b32a1292
最后生产环境中建议大家安装 redis 5.0.5 稳定版本
二 五大基础数据类型
2.1 字符串
字符串型数据存储为 key - val (键值对)形式,即每个 键都有对应唯一的值;如下图所示,age 为 key 则对应唯一的值为18;
命令介绍如下
get : 获取存储给定键的值
set : 设置给定存储键的值
del : 删除给定键的值
incr :计数,每次加1
incrby : 计算,给定值加减
mset : 设置多个键值
mget : 获取多个给定键的值
expire : 设置过期时间(适用所有类型)
exists : 是否存在键
存储字符串示例
set key value
127.0.0.1:6379> set zszxz 666 OK
获取字符串示例
get key
127.0.0.1:6379> get zszxz "666"
删除字符串示例
del key [key ...]
127.0.0.1:6379> del zszxz (integer) 1
计数示例:
incr key
127.0.0.1:6379> set age 100 OK 127.0.0.1:6379> incr age (integer) 101 127.0.0.1:6379> incr age (integer) 102 127.0.0.1:6379> get age "102" 127.0.0.1:6379>
incrby key increment
127.0.0.1:6379> set age 100 OK 127.0.0.1:6379> incrby age 5 (integer) 105 127.0.0.1:6379> incrby age -2 (integer) 103 127.0.0.1:6379> get age "103" 127.0.0.1:6379>
多键值对示例
mset key value [key value ...]
mget key [key ...]
127.0.0.1:6379> mset u1 you1 u2 you2 OK 127.0.0.1:6379> mget u1 u2 1) "you1" 2) "you2" 127.0.0.1:6379>
设置过期时间
expire key seconds
127.0.0.1:6379> expire u1 1 (integer) 1 127.0.0.1:6379> get u1 (nil) 127.0.0.1:6379>
存在示例
exists key [key ...]
127.0.0.1:6379> set age 100 OK 127.0.0.1:6379> exists age (integer) 1 127.0.0.1:6379>
2.2 列表
列表其实就是链表,一个列表有一个键,一个键对应多个值,值可以重复,取值时根据索引取值即可;
rpush : 将值推入列表右端
lrange : 获取列表给定范围内所有的值
lindex : 获取列表上给定位置的单个元素
lpop : 从列表的左端弹出一个值
值入列表示例
rpush key value [value ...]
127.0.0.1:6379> rpush list-zszxz a (integer) 1 127.0.0.1:6379> rpush list-zszxz b (integer) 2 127.0.0.1:6379> rpush list-zszxz c (integer) 3
范围取值示例
lrange key start stop
127.0.0.1:6379> lrange list-zszxz 0 -1 1) "a" 2) "b" 3) "c"
给定索引取值示例
lindex key index
127.0.0.1:6379> lindex list-zszxz 1 "b"
左弹出示例
lpop key
127.0.0.1:6379> lpop list-zszxz "a" 127.0.0.1:6379> lrange list-zszxz 0 -1 1) "b" 2) "c"
2.3 集合
集合与列表类似,不过特殊指出是集合无序,并且每个值都是唯一,不可重复;
sadd : 将给定的值加入集合
smembers : 返回集合所有的元素
sismember : 检查给定的元素是否存在集合中
srem : 若集合中存在该元素,则移除该元素
添加示例
sadd key member [member ...]
127.0.0.1:6379> sadd set-zszxz a (integer) 1 127.0.0.1:6379> sadd set-zszxz b (integer) 1 127.0.0.1:6379> sadd set-zszxz c (integer) 1
返回所有元素示例
smembers key
127.0.0.1:6379> smembers set-zszxz 1) "c" 2) "b" 3) "a"
存在示例
sismember key member
127.0.0.1:6379> sismember set-zszxz c (integer) 1
删除示例
srem key member [member ...]
127.0.0.1:6379> srem set-zszxz a (integer) 1 127.0.0.1:6379> smembers set-zszxz 1) "c" 2) "b"
2.4 散列
散列点像java中的map,python中的字典;一个散列里面存储多个键值对;
hset : 给定散列的键值对
hget : 获取指定散列键的值
hetall : 获取所有散列的键值对
hdel : 若散列中存在该键,则移除键
设置散列键值对示例
hset key field value
127.0.0.1:6379> hset hash-key key1 a (integer) 1 127.0.0.1:6379> hset hash-key key2 b (integer) 1 127.0.0.1:6379> hset hash-key key3 c (integer) 1 127.0.0.1:6379>
获取散列给定键示例
hget key field
127.0.0.1:6379> hget hash-key key1 "c"
获取散列所有键值对示例
hgetall key
127.0.0.1:6379> hgetall hash-key 1) "key1" 2) "c" 3) "key2" 4) "b" 5) "key3" 6) "c"
删除散列键示例
hdel key field [field ...]
127.0.0.1:6379> hdel hash-key key1 (integer) 1 127.0.0.1:6379> hgetall hash-key 1) "key2" 2) "b" 3) "key3" 4) "c" 127.0.0.1:6379>
2.5 有序集合
redis 有序集合与散列类似,不同之处键称为member, value称为 score ; 根据分值不同进行有序排序;
zadd : 将带有给定分值的成员添加入有序集合
zrange : 根据有序集合的索引获取元素
zrangebyscore : 获取有序集合内给定分值范围内的所有元素
zrem : 如果成员存在有序集合中,则移除
添加成员示例
zadd key score member [score member ...]
127.0.0.1:6379> zadd zset-key 600 member1 (integer) 1 127.0.0.1:6379> zadd zset-key 650 member2 (integer) 1 127.0.0.1:6379> zadd zset-key 680 member3 (integer) 1 127.0.0.1:6379>
获取指定索引范围内的成员示例
zrange key start stop [WITHSCORES]
不带score
127.0.0.1:6379> zrange zset-key 0 -1 1) "member1" 2) "member2" 3) "member3"
带上score
127.0.0.1:6379> zrange zset-key 0 -1 withscores 1) "member1" 2) "600" 3) "member2" 4) "650" 5) "member3" 6) "680"
获取指定分值范围内的成员示例
zrangebyscore key min max [WITHSCORES] [LIMIT offset count]
127.0.0.1:6379> zrangebyscore zset-key 600 650 withscores 1) "member1" 2) "600" 3) "member2" 4) "650"
移除成员示例
zrem key member [member ...]
127.0.0.1:6379> zrem zset-key member1 (integer) 1 127.0.0.1:6379> zrange zset-key 0 -1 withscores 1) "member2" 2) "650" 3) "member3" 4) "680" 127.0.0.1:6379>
简记方式:
字符串, key - value
列表与集合 ,类似链表,一个有序,一个无序,一个键存储多个值;
散列与有序集合,类似字典,map;储存多个 key-value; 有序集合的key 为member, value 为 score ,按照分值排序;
感谢你能够认真阅读完这篇文章,希望小编分享的“redis入门知识点的示例分析”这篇文章对大家有帮助,同时也希望大家多多支持创新互联,关注创新互联行业资讯频道,更多相关知识等着你来学习!
文章名称:redis入门知识点的示例分析
本文地址:http://azwzsj.com/article/ggjjsc.html