Redis的下载安装及基本语法学习
2020-07-06 10:27
267 查看
一、概述
Redis是一个高性能的Nosql 内存数据库,支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
Redis支持数据的备份,即master-slave模式的数据备份。
二、下载安装
百度云盘
提取码:ar0e
注意,以上方式开启的时临时服务,使用时不要关闭
三、基本语法
1、key-value存储
set key value -- 设置指定key的值 get key -- 获取指定key的值 exists key -- 指定key是否存在,1 存在 0 不存在 expire key seconds -- 指定key的过期时间后,在经过指定的秒数后,服务器就会自动删除生存时间为0的键 type key -- 所存储的值类型
127.0.0.1:6379> set test "hello redis" OK 127.0.0.1:6379> get test "hello redis" 127.0.0.1:6379> exists test (integer) 1 127.0.0.1:6379> exists kk (integer) 0 127.0.0.1:6379> type test string 127.0.0.1:6379> expire test 10 (integer) 1 127.0.0.1:6379> get test (nil) 127.0.0.1:6379> exists test (integer) 0
2、哈希(Hash)存储
Redis hash 是一个 string 类型的 field 和 value 的映射表,hash 特别适合用于存储对象
类似于Map,key为map名,field-value 即key-value
hset key field value -- 将哈希表key中的字段field的值设为value hget key field -- 获取存储在哈希表key中指定字段的值 hmset key field value [field value ...] -- 同时将多个field-value对设置到哈希表key中 hmget key field [field ...] -- 获取所有给定字段的值 hdel key field [field ...] -- 删除所有给定字段的值 hgetall key -- 获取在哈希表中指定 key 的所有字段和值 hkeys key -- 获取所有字段filed hvals key -- 获取所有值 hlen key -- 哈希表key中字段的数量
127.0.0.1:6379> hset myset name "tom" (integer) 1 127.0.0.1:6379> hget myset name "tom" 127.0.0.1:6379> hmset strs name "tom" phone "17789456123" salary "6000" OK 127.0.0.1:6379> hmget strs name phone salary 1) "tom" 2) "17789456123" 3) "6000" 127.0.0.1:6379> hdel strs phone salary (integer) 2 127.0.0.1:6379> hget strs name "tom" 127.0.0.1:6379> hgetall strs 1) "name" 2) "tom" 127.0.0.1:6379> hkeys strs 1) "name" 127.0.0.1:6379> hlen strs (integer) 1 127.0.0.1:6379> hvals strs 1) "tom"
3、列表(List)存储
Redis列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)
类似于List,值有序且可重复
lpush key value [value ...] -- 将一个或多个值插入到列表头部 rpush key value [value ...] -- 将一个或多个值插入到列表尾部 llen key -- 列表长度 lset key index value -- 通过索引设置列表元素的值(必须是已有索引,可以用来替换值) lindex key index -- 通过索引获取列表中的元素 linsert key BEFORE|AFTER pivot value -- 在pivot值的前后插入元素 lrange key start stop -- 获取索引开始结束的这段列表,0 -1即获取所有 lpushx key value -- 将一个值插入到已存在的列表头部 rpushx key value -- 将一个值插入到已存在的列表尾部 rpop key -- 移除列表的最后一个元素,返回值为移除的元素
127.0.0.1:6379> lpush list "tom" "jerry" "ken" "jordan" (integer) 4 127.0.0.1:6379> llen list (integer) 4 127.0.0.1:6379> lset list 4 "sarry" (error) ERR index out of range 127.0.0.1:6379> lset list 5 "sarry" (error) ERR index out of range 127.0.0.1:6379> lset list 0 "sarry" OK 127.0.0.1:6379> lindex list 0 "sarry" 127.0.0.1:6379> linsert list AFTER "sarry" "lilei" (integer) 5 127.0.0.1:6379> lrange list 0 -1 1) "sarry" 2) "lilei" 3) "ken" 4) "jerry" 5) "tom" 127.0.0.1:6379> lpushx (error) ERR wrong number of arguments for 'lpushx' command 127.0.0.1:6379> lpushx list "herry" (integer) 6 127.0.0.1:6379> lrange list 0 -1 1) "herry" 2) "sarry" 3) "lilei" 4) "ken" 5) "jerry" 6) "tom" 127.0.0.1:6379> rpush list "yoyo" "heli" (integer) 8 127.0.0.1:6379> lrange list 0 -1 1) "herry" 2) "sarry" 3) "lilei" 4) "ken" 5) "jerry" 6) "tom" 7) "yoyo" 8) "heli" 127.0.0.1:6379> rpushx list "eboo" (integer) 9 127.0.0.1:6379> lrange list 0 -1 1) "herry" 2) "sarry" 3) "lilei" 4) "ken" 5) "jerry" 6) "tom" 7) "yoyo" 8) "heli" 9) "eboo" 127.0.0.1:6379> rpop list "eboo" 127.0.0.1:6379> rpushx list "yoyo" (integer) 9 127.0.0.1:6379> lrange list 0 -1 1) "herry" 2) "sarry" 3) "lilei" 4) "ken" 5) "jerry" 6) "tom" 7) "yoyo" 8) "heli" 9) "yoyo"
4、集合(Set)存储
Set 是 String 类型的无序集合,成员是唯一的,集合中不能出现重复的数据(类似于java Set)
sadd key member1 [member2] -- 向集合添加一个或多个成员 smembers key -- 返回集合中的所有成员 scard key -- 获取集合的成员数 sismember key member -- 判断 member 元素是否是集合 key 的成员 srem key member1 [member2] -- 移除集合中一个或多个成员
127.0.0.1:6379> sadd set "aa" "bb" "cc" "aa" (integer) 3 127.0.0.1:6379> smembers set 1) "aa" 2) "cc" 3) "bb" 127.0.0.1:6379> scard set (integer) 3 127.0.0.1:6379> sismember set cc (integer) 1 127.0.0.1:6379> srem set "aa" "bb" (integer) 2 127.0.0.1:6379> smembers set 1) "cc"
5、有序集合(sorted set)存储
有序集合也是string类型元素的集合,且不允许重复的成员
不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序
有序集合的成员是唯一的,但分数(score)却可以重复
ZADD key score1 member1 [score2 member2] -- 向有序集合添加一个或多个成员,或者更新已存在成员的分数 ZCARD key -- 获取有序集合的成员数 ZCOUNT key min max -- 计算在有序集合中指定区间分数的成员数 ZLEXCOUNT key min max -- 在有序集合中计算指定字典区间内成员数量 ZRANK key member -- 返回有序集合中指定成员的索引 ZREM key member [member ...] -- 移除有序集合中的一个或多个成员 ZREMRANGEBYLEX key min max -- 移除有序集合中给定的字典区间的所有成员
127.0.0.1:6379> zadd sortedSet 1.0 "one_float" 2 "two" 3 "three" 1 "one" 2 "tt" (integer) 5 127.0.0.1:6379> zcard sortedSet (integer) 5 127.0.0.1:6379> zcount sortedSet 1 2 (integer) 4 127.0.0.1:6379> zlexcount sortedSet [a [q (integer) 2 127.0.0.1:6379> zrange sortedSet 0 -1 1) "one" 2) "one_float" 3) "tt" 4) "two" 5) "three" 127.0.0.1:6379> zrange sortedSet 0 -1 WITHSCORES 1) "one" 2) "1" 3) "one_float" 4) "1" 5) "tt" 6) "2" 7) "two" 8) "2" 9) "three" 10) "3" 127.0.0.1:6379> zrange sortedSet 1 2 WITHSCORES 1) "one_float" 2) "1" 3) "tt" 4) "2" 127.0.0.1:6379> ZRANK sortedSet "tt" (integer) 2 127.0.0.1:6379> zrank sortedSet "one_float" (integer) 1 127.0.0.1:6379> zrem sortedSet "one_float" "tt" (integer) 2
四、发布订阅
五、事务
相关文章推荐
- Jade模板引擎学习(一)安装及基本语法
- Lua简单学习(lecture 1)教程、安装、基本语法
- redis学习之——CentOS 6 下载安装redis
- redis_学习笔记01--基本安装
- Redis下载安装与基本使用(linux)
- 数据库每日学习 Day1--- 数据库的基本概念、MySQL安装与使用、Sql基本概念与通用语法
- Redis学习 -- 安装及基本使用
- redis学习之安装与基本设置(一)
- 学习redis-安装和基本一些命令
- Redis学习笔记:Redis的基本介绍、基于ECS-CentOS7下Redis的安装
- Redis下载安装及学习
- Redis学习记录之下载安装(三)
- Redis基础学习--安装、简介、基本数据类型及相应命令
- 下载路径,安装和基本语法
- windows 下redis学习之redis的安装下载
- C# Redis学习系列(一)Redis下载安装使用
- 学习笔记:数据库的安装和基本语法
- Redis基本语法学习
- Redis学习笔记(二) Redis的下载与安装
- 学习笔记:markdown安装激活和基本语法(已补充一次)