redis基础知识

Redis数据类型

Redis支持五种数据类型: string(字符串) , hash (哈希) , list (列表) , set (集合) , 及zset (sorted set : 有序集合)

类型 简介 特性 场景
string 二进制安全 可以包含任何数据,比如jpg图片或者序列化的对象,一个键最大能存储512M --
hash 键值对集合,即变成语言中的map类型 适合存储对象,并且可以像数据库中updata一个属性一样只修改某一项属性值(Memcached中需要取出整个字符串反序列化成对象修改完再序列化存回去) 存储、读取、修改用户属性
list 链表(双向链表) 增删快,提供了操作某一段元素的API 1,最新消息排行等功能(比如朋友圈的时间线) 2,消息队列
set 哈希表实现,元素不重复 1、添加、删除,查找的复杂度都是O(1) 2、为集合提供了求交集、并集、差集等操作 1、共同好友 2、利用唯一性,统计访问网站的所有独立ip 3、好友推荐时,根据tag求交集,大于某个阈值就可以推荐
sorted set 将Set中的元素增加一个权重参数score,元素按score有序排列 数据插入集合时,已经进行天然排序 1、排行榜 2、带权重的消息队列

Redis命令

Redis keys 命令

DEL key                            ##该命令用于在 key 存在时删除 key。
DUMP key                           ##序列化给定 key ,并返回被序列化的值。
EXISTS key                         ##检查给定 key 是否存在。
EXPIRE key seconds                 ##为给定 key 设置过期时间,以秒计。
EXPIREAT key timestamp             ##EXPIREAT 的作用和 EXPIRE 类似,都用于为 key 设置过期时间。                           #不同在于 EXPIREAT 命令接受的时间参数是 UNIX 时间戳(unix timestamp)。
PEXPIRE key milliseconds           ##设置 key 的过期时间以毫秒计。
PEXPIREAT key milliseconds-timestamp ##设置 key 过期时间的时间戳(unix timestamp) 以毫秒计
KEYS pattern                       ##查找所有符合给定模式( pattern)的 key 。
MOVE key db                        ##将当前数据库的 key 移动到给定的数据库 db 当中。
PERSIST key                        ##移除 key 的过期时间,key 将持久保持。
PTTL key                           ##以毫秒为单位返回 key 的剩余的过期时间。
TTL key                          ##以秒为单位,返回给定 key 的剩余生存时间(TTL, time to live)。
RANDOMKEY                          ##从当前数据库中随机返回一个 key 。
RENAME key newkey                  ##修改 key 的名称
RENAMENX key newkey                ##仅当 newkey 不存在时,将 key 改名为 newkey 。
TYPE key                           ##返回 key 所储存的值的类型。

Redis 字符串命令

SET key value                              ## 设置指定 key 的值
GET key                                    ## 获取指定 key 的值。
GETRANGE key start end                     ## 返回 key 中字符串值的子字符
GETSET key value                 ## 将给定 key 的值设为 value ,并返回 key 的旧值(old value)。
GETBIT key offset                ## 对 key 所储存的字符串值,获取指定偏移量上的位(bit)。
MGET key1 [key2..]               ## 获取所有(一个或多个)给定 key 的值。
SETBIT key offset value          ## 对 key 所储存的字符串值,设置或清除指定偏移量上的位(bit)。
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 的生存时间,而不是像 SETEX 命令那样,以秒为单位。
INCR key                          ##将 key 中储存的数字值增一。
INCRBY key increment              ##将 key 所储存的值加上给定的增量值(increment) 。
INCRBYFLOAT key increment         ##将 key 所储存的值加上给定的浮点增量值(increment) 。
DECR key                          ##将 key 中储存的数字值减一。
DECRBY key decrement              ##key 所储存的值减去给定的减量值(decrement) 。
APPEND key value                  ##如果key已经存在并且是一个字符串,APPEND命令将指定的value追加到该key原来(value的末尾。
本文章来自菜鸟教程
原文地址:https://www.cnblogs.com/codecheng99/p/12380889.html