redis简介
redis是C语言编写的一个高性能的键值存储的非关系型数据库
非关系型数据库的优点与缺点:
非关系型数据库也叫NoSQL(not only sql)
优点:可以轻松地处理海量数据
缺点:
1.没有主外键,则数据关系不能一目了然
2.没有强大的事务来支持,那么数据就相对来说不安全
3.不支持sql,不能进行复杂的查询
redis存储是键值对key-value(map)
redis数据类型
key:字符串
value:常见有五种数据类型(String、hash、list、set、sorted set(zset))
String相关的常用命令:
1.set命令(增加、修改):如果数据库中没有改key,则增加数据
如果数据库中存在该key值,则修改原有key对应的value
命令格式:set key value set name admin
2.get命令(查询):查询该key对应的value
命令格式:get key get name
3.del命令(删除):删除该key对应的value
命令格式:del key del name
4.getset key value :获取该key原有值,然后赋新值
5.incr key:自增1。如果该值不存在,其初始值为0;在incr 之后其值不能转为整数数字,则该操作失败并返回相应的错误信息
6.incrby key n:指定自赠数
7.decr key:自减1,如果该key不存在,其初始值为0,在decr之后其值变为-1,如果value的值不能转为整数数字,则该操作失败并返回相应的错误信息;
8.decrby key n:指定自减数
9.append key value:拼接字符串。如果该key存在,则在原值后追加其值;如果key不存在,则重新创建一个key/value
Hash类型相关的常用命令:
1.赋值:hset hashname key value:为指定的hashname设定key/value
2.取值: hget hashname key:返回指定的hashname中的key的值
3. 删除:hdel hashname key[key1...]:可以删除指定hashnam中的一个或多个值
hdel hashname:删除整个hash
Key相关的常用命令:
1.keys *:查询所有key
2.del key1 key2...:删除多个key
3.exists key:判断该key是否存在,返回1存在,返回0不存在
4.type key:获取该key对应的value的类型
5.expire key:设置key的过期时间,单位秒。不设置默认不过期。
6.ttl key:查看当前key的剩余时间,如果没有设置expire,则返回-1;如果已经过期则返回-2;
Redis集群的原理
slot槽与数据分片存储(储存原理)
Redis集群中内置类16384【0-16383】个槽,redis会根据节点数量大致均等的将16384个槽映射到不同的节点。当需要在redis集群中放置一个key-value时,redis先对key使用crc16算法算出一个结果,然后把结果对16384取余。这样每个key都会对应一个编号在0-16384之间的槽。
- (转)Redis研究(一)—简介
- Redis(一):redis概述即数据类型简介
- redis 数据类型以及应用场景简介
- redis的一些简介
- Redis(3)--Jedis简介
- NoSQL和Redis简介及Redis在Windows下的安装和使用教程
- 1. redis简介
- Redis的简介与安装
- Redis简介和五大类型
- NoSQL 简介&&Redis 教程
- 1.redis 简介
- Redis 简介
- (2)Redis API与常用数据类型简介
- Spring Data Redis简介以及项目Demo,RedisTemplate和 Serializer详解
- redis简介【二】
- redis - spring-data-redis简介和入门
- Redis的简介及安装
- Redis总结(一)Redis简介
- redis的简介和使用
- Spring Data Redis简介以及项目Demo,RedisTemplate和 Serializer详解