1. redis 缓存
使用redis-cli连接本地的数据库,全程在内存中进行.
命令不区分大小写(似乎没见到数据库命令区别的(^﹏^))
优点:
异常快:21000次set 8100次get 全程数据在内存中
操作原子性:
支持大部分数据结构:共5种,字符串,散列(哈希),列表,集合,可排序集合,
实用性:缓存,消息队列等实际应用
与其他的键值系统相比:它的值可以包含更复杂的数据类型,可以在这些数据类型上定义原子操作,2)是一个内存数据库,但在磁盘上是持久的,3)复杂的数据结构在内存上更容易操作.
编号 | 命令 | 描述 |
---|---|---|
1 | DEL key | 此命令删除一个指定键(如果存在)。 |
2 | DUMP key | 此命令返回存储在指定键的值的序列化版本。 |
3 | EXISTS key | 此命令检查键是否存在。 |
4 | EXPIRE key seconds | 设置键在指定时间秒数之后到期/过期。 |
5 | EXPIREAT key timestamp | 设置在指定时间戳之后键到期/过期。这里的时间是Unix时间戳格式。 |
6 | PEXPIRE key milliseconds | 设置键的到期时间(以毫秒为单位)。 |
7 | PEXPIREAT key milliseconds-timestamp | 以Unix时间戳形式来设置键的到期时间(以毫秒为单位)。 |
8 | KEYS pattern | 查找与指定模式匹配的所有键。 |
9 | MOVE key db | 将键移动到另一个数据库。 |
10 | PERSIST key | 删除指定键的过期时间,得永生。 |
11 | PTTL key | 获取键的剩余到期时间。 |
12 | RANDOMKEY | 从Redis返回一个随机的键。 |
13 | RENAME key newkey | 更改键的名称。 |
14 | PTTL key | 获取键到期的剩余时间(以毫秒为单位)。 |
15 | RENAMENX key newkey | 如果新键不存在,重命名键。 |
16 | TYPE key | 返回存储在键中的值的数据类型。 |
redis的配置文件是redis.conf 可以在redis客户端中通过CONFIG GET/SET进行设置
2.redis的内存类型
字符串:
redis中字符串是一个字节序列,是二进制安全的,长度不以终止字符决定(不用一个一个扫描,确保安全性),长度最大高达512M
存储操作: set 键 "值"
读取操作: get 键
散列(哈希): 是键值对的集合,字符串字段和字符串值之间的映射,用于表示对象 每个散列/哈希可以存储多达2^32 - 1
个健-值对(超过40
亿个)。
存储:HMSET 键 字段1 "字段1的值" 字段2 "字段2的值"
读取:HGETALL 键
列表: 是字符串列表,按插入顺序排序,可以在列表头部和尾部添加元素
lpush mylist 值
lpush mylist 值
读:lrange mylist 范围(0 – 10这种)
集合: redis中的字符串无序的集合 添加和删除O(1)的时间复杂度,集合里面的数据是唯一的(参考高数集合的概念).
sadd mylist 值1
sadd mylist 值2
读:smembers mylist
有序集合: 集合的有序版,不是自动排序,按照分数进行排序(分数可重复)
zadd mylist 0 redis
zadd mylist 1 我的值
zadd mylist 1 值
读zrangbyscore mylist 范围(0-10);
3.命令
登录:
redis-cli -h host -p port -a password
Redis字符串命令
下表列出了一些用于在Redis中管理字符串的基本命令。
编号 | 命令 | 描述说明 |
---|---|---|
1 | SET key value | 此命令设置指定键的值。 |
2 | GET key | 获取指定键的值。 |
3 | GETRANGE key start end | 获取存储在键上的字符串的子字符串。 |
4 | GETSET key value | 设置键的字符串值并返回其旧值。 |
5 | GETBIT key offset | 返回在键处存储的字符串值中偏移处的位值。 |
6 | MGET key1 [key2..] | 获取所有给定键的值 |
7 | SETBIT key offset value | 存储在键上的字符串值中设置或清除偏移处的位 |
8 | SETEX key seconds value | 使用键和到期时间来设置值 |
9 | SETNX key value | 设置键的值,仅当键不存在时 |
10 | SETRANGE key offset value | 在指定偏移处开始的键处覆盖字符串的一部分 |
11 | STRLEN key | 获取存储在键中的值的长度 |
12 | MSET key value [key value …] | 为多个键分别设置它们的值 |
13 | MSETNX key value [key value …] | 为多个键分别设置它们的值,仅当键不存在时 |
14 | PSETEX key milliseconds value | 设置键的值和到期时间(以毫秒为单位) |
15 | INCR key | 将键的整数值增加1 |
16 | INCRBY key increment | 将键的整数值按给定的数值增加 |
17 | INCRBYFLOAT key increment | 将键的浮点值按给定的数值增加 |
18 | DECR key | 将键的整数值减1 |
19 | DECRBY key decrement | 按给定数值减少键的整数值 |
20 | APPEND key value | 将指定值附加到键 |
4. redis 的事务性
发表回复