Redis 数据库
redis REmote DIctionary Server(Redis) key-value存储系统,提供多语言API.它通常被称为数据结构服务器,因为值value可以是 str,list,set,(sorted set)/zset,hash
redis 优势
性能极高 读110000次/s,写81000次/s
数据类型丰富
redis 的所有操作都是原子性的.同时还支持对几个操作合并后的原子性执行
丰富的特性 - redis 还支持publish/subscribe订阅,通知,key过期等等特性
redis 和其他数据库的区别?在内存数据库方面的另一个优点是, 相比在磁盘上相同的复杂的数据结构,在内存中操作起来非常简单,这样Redis可以做很多内部复杂性很强的事情。 同时,在磁盘格式方面他们是紧凑的以追加 的方式产生的,因为他们并不需要进行随机访问。
windows redis 安装
redis 服务启动cd redis 目录下 redis-server redis.conf cd redis 目录下 redis-cli.exe -h 127.0.0.1 -p 6379
linux redis 安装
redis 数据类型string(字符串) 可以包含任何数据,比如jpg,或者序列化的对象,一个键最大能存512MB Hash(哈希) 是一个键值对集合,redis hash 是一个string类型的field和value的映射表,哈希特别适用于存储对象 hmset 键 (多值) hgetall 键
List(列表) 是简单的str列表,按照插入的顺序排序,可以插入元素到头/尾部lpush 列表 值lrange 列表 范围 (0 -1)
set(集合) redis的set是string类型的无序集合集合是通过及哈希实现的,所以添加,删除,查找的复杂度都是O(1)sadd 命令 添加一个string元素到key对应的集合中,成功返回1,若已存在返回0,key对应的set不存在返回错误sadd key member 添加值smember key 查看集合中的值
zset(sorted set有序集合) 也是string类型元素的集合,且匀速不能重复不同的是每个元素都会关联一个double类型的分数.redis正是通过分数来为集合中的成员进行从小到大的排序zset成员是唯一的,但是分数(score)却可以重复zadd 命令 添加元素到集合,元素在集合中存在则更新对应的scorezadd key score memberzrangebyscore key 分数范围
远程端连接redisredis-cli -h host -p port -a password例子 redis-cli -h 127.0.0.1 -p 6379 -a "mypass"
key 命令setdeldump key 序列化,返回被序列化的值exists key 是否存在expire key 设置过期时间keys pattern 查找所有符合给定模式的keymove key db 将当前库的key移动到给定数据库db当中randomkey 从数据库中随机返回一个keyrename key newname 键的重命名RENAMENX key newkeytype key 返回key所存储的值的类型flushdb 删除当前库里的keysflushall 删除所有
string 操作set del getset 改原键的值,返回旧值mset 键1 值1 键2 值2mget 键1 键2 setex 键 timeout 值getrange 键 start end ttl 键 查看过期时间信息setrange 键 偏移strlen 键 返回字符串长度,不存在键就返回0