# 什么是Redis?
Redis 是完全开源免费的,是一个高性能的key-value内存数据库,读的速度是110000次/s,写的速度是81000次/s  
 
它有以下三个特点:
 
Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
 
Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
 
Redis的所有操作都是原子性的,意思就是要么成功执行要么失败完全不执行 。
 
Redis还支持 publish/subscribe, 通知, key 过期等特性 。
 
# 安装
下载地址:https://redis.io/download
 
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           移除有序集合中给定的分数区间的所有成员
    
 
# 消息队列?
 
 

最新文章

  1. POJ2774 Long Long Message [后缀数组]
  2. 我的MYSQL学习心得(十五) 日志
  3. 无法打开键: UNKNOWN\Components\BE1FB738077DBE490AF18C3B9B1A1EE8\E5F5286B58B542741A00A0A9AA420B27
  4. Codeforces Round #263 (Div. 1)
  5. 给NSString增加Java风格的方法
  6. 【计算机视觉领域】常用的 feature 提取方法,feature 提取工具包
  7. PLSQL_Oracle Table Lock表级锁的处理(案例)
  8. PHP 类的静态变量索引
  9. IOS开发之——颜色设置
  10. form-validation-engine中的正则表达式
  11. Windows Azure 安全最佳实践 - 第 5 部分:基于Claim 的标识,单点登录
  12. linux+nginx+mysql+php
  13. hdu3622
  14. django使用model创建数据库表使用的字段
  15. go环境的安装~
  16. STM32C语言与MDK基础
  17. 跟bWAPP学WEB安全(PHP代码)--邮件头和LDAP注入
  18. Invalid args, too big block
  19. 从零单排Hadoop——1.搭建Hadoop开发环境
  20. Codeforces Round #400

热门文章

  1. Ftp Centos · GitBook
  2. C++学习之旅
  3. Ueditor富文本编辑器--Ctrl V 粘贴后原有图片显示错误
  4. 深入理解JVM(线程部分) Note
  5. 爬虫(三)解析js,抓取优酷免费视频的真实播放地址
  6. pc端适配移动端
  7. 用CSS3实现钟表效果
  8. TensorFlow CPU环境 SSE/AVX/FMA 指令集编译
  9. vijos 1449 字符串还原
  10. Yuchuan_Linux_C编程之二 GCC编译