Redis总结--【持续更新】
2024-09-05 01:57:21
# 什么是Redis?
Redis 是完全开源免费的,是一个高性能的key-value内存数据库,读的速度是110000次/s,写的速度是81000次/s
它有以下三个特点:
Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
Redis的所有操作都是原子性的,意思就是要么成功执行要么失败完全不执行 。
Redis还支持 publish/subscribe, 通知, key 过期等特性 。
# 安装
Redis 支持 32 位和 64 位。这个需要根据你系统平台的实际情况选择,这里我们下载 Redis-x64-xxx.zip压缩包到 C 盘,解压后,将文件夹重新命名为 redis。
启动服务器,并且使用客户端程序连接服务器
通过命令 info 查看所有的信息
通过命令 config get * 查看所有配置信息
# 数据类型
Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(有序集合)
通过简单的命令
Set key
设置值
Get key
得到值
Keys 规则
得到指定规则的key
Del key
删除key
# 字符串常用命令
SET key value 设置指定 key 的值
GET key 获取指定 key 的值。
GETRANGE key start[index] end [index] 返回 key 中字符串值的子字符
GETSET key value 将给定 key 的值设为 value ,并返回 key 的旧值(old value)。
MGET key1 [key2..] 获取所有(一个或多个)给定 key 的值。
SETEX key seconds(秒) value 将值 value 关联到 key ,并将 key 的过期时间设为 seconds (以秒为单位)。
SETNX key value 只有在 key 不存在时设置 key 的值。
SETRANGE key offset value 用 value 参数覆写给定 key 所储存的字符串值,从偏移量 offset 开始。
STRLEN key 返回 key 所储存的字符串值的长度。
MSET key value [key value ...] 同时设置一个或多个 key-value 对。
MSETNX key value [key value ...] 同时设置一个或多个 key-value 对,当且仅当所有给定 key 都不存在。
PSETEX key milliseconds value 这个命令和 SETEX 命令相似,但它以毫秒为单位设置 key 的生存时间。
INCR key 将 key 中储存的数字值增一。
INCRBY key increment 将 key 所储存的值加上给定的增量值(increment) 。
DECR key 将key 中储存的数字值减一。
DECRBY key decrement key 所储存的值减去给定的减量值(decrement) 。
APPEND key value 如果 key 已经存在并且是一个字符串, APPEND 命令将 指定value 追加到 改 key 原来的值(value)的末尾。
# 哈希常用命令
HSET key name bwf 设置一个键为name值为bwf
HGET key field 获取存储在哈希表中指定字段的值。
HKEYS key 获取所有哈希表中的字段
HLEN key 获取哈希表中字段的数量
HDEL key field1 [field2] 删除一个或多个哈希表字段
HGETALL key 获取在哈希表中指定 key 的所有字段和值
HMSET key field1 value1 [field2 value2 ] 同时将多个 field-value (域-值)对设置到哈希表 key 中。
HSETNX key field value 只有在字段 field 不存在时,设置哈希表字段的值。
HVALS key 获取哈希表中所有值
# 列表常用命令
RPUSH key value1 在列表中添加值
LSET key index value 通过索引设置列表元素的值
LINSERT key BEFORE|AFTER pivot value 在列表的元素前或者后插入元素
LINDEX key index 通过索引获取列表中的元素
LPUSH key value1 将一个值插入到列表头部
LRANGE key start stop 获取列表指定范围内的元素 -1为所有值
LPOP key 移出并获取列表的第一个元素
RPOP key 移除并获取列表最后一个元素
RPOPLPUSH source destination 移除列表的最后一个元素,并将该元素添加到另一个列表并返回
LREM key count value 移除列表元素
BLPOP key1 [key2 ] timeout 移出并获取列表的第一个元素, 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止。
BRPOP key1 [key2 ] timeout 移出并获取列表的最后一个元素, 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止
# 集合(set)常用命令
SADD key member1 [member2] 向集合添加一个或多个成员
SCARD key 获取集合的成员数
SMEMBERS key 返回集合中的所有成员
SRANDMEMBER key [count] 返回集合中一个或多个随机数
SREM key member1 [member2] 移除集合中一个或多个成员
SPOP key 移除并返回集合中的一个随机元素
SDIFF key1 [key2]
SISMEMBER key member 判断 member 元素是否是集合 key 的成员
SMOVE source destination member 将 member 元素从 source 集合移动到 destination 集合
返回给定所有集合的差集,SDIFFSTORE destination key1 [key2] 返回给定所有集合的差集并存储在 destination 中
SINTER key1 [key2] 返回给定所有集合的交集
SUNION key1 [key2] 返回所有给定集合的并集
SUNIONSTORE destination key1 [key2] 所有给定集合的并集存储在 destination 集合中
# 有序集合(sorted set)
ZADD key score1 member1 [score2 member2] 向有序集合添加一个或多个成员,或者更新已存在成员的分数
ZCARD key 获取有序集合的成员数
ZCOUNT key min max 计算在有序集合中指定区间分数的成员数
ZRANGE key start stop [WITHSCORES] 通过索引区间返回有序集合成指定区间内的成员
ZRANGEBYSCORE key min max [WITHSCORES] 通过分数返回有序集合指定区间内的成员
ZRANK key member 返回有序集合中指定成员的索引
ZREM key member [member ...] 移除有序集合中的一个或多个成员
ZREMRANGEBYRANK key start stop 移除有序集合中给定的排名区间的所有成员
ZREMRANGEBYSCORE key min max 移除有序集合中给定的分数区间的所有成员
# 消息队列?
最新文章
- POJ2774 Long Long Message [后缀数组]
- 我的MYSQL学习心得(十五) 日志
- 无法打开键: UNKNOWN\Components\BE1FB738077DBE490AF18C3B9B1A1EE8\E5F5286B58B542741A00A0A9AA420B27
- Codeforces Round #263 (Div. 1)
- 给NSString增加Java风格的方法
- 【计算机视觉领域】常用的 feature 提取方法,feature 提取工具包
- PLSQL_Oracle Table Lock表级锁的处理(案例)
- PHP 类的静态变量索引
- IOS开发之——颜色设置
- form-validation-engine中的正则表达式
- Windows Azure 安全最佳实践 - 第 5 部分:基于Claim 的标识,单点登录
- linux+nginx+mysql+php
- hdu3622
- django使用model创建数据库表使用的字段
- go环境的安装~
- STM32C语言与MDK基础
- 跟bWAPP学WEB安全(PHP代码)--邮件头和LDAP注入
- Invalid args, too big block
- 从零单排Hadoop——1.搭建Hadoop开发环境
- Codeforces Round #400