hash(哈希)
Redis hash 是一个键值对集合。Redis hash是一个string类型的field和value的映射表,hash特别适合用于存储对象。 实例 redis 127.0.0.1:6379> HMSET w3ckey name "redis tutorial" description "redis basic commands for caching" likes 20 visitors 23000 OK redis 127.0.0.1:6379> HGETALL w3ckey 1) "name" 2) "redis tutorial" 3) "description" 4) "redis basic commands for caching" 5) "likes" 6) "20" 7) "visitors" 8) "23000" 以上实例中 hash 数据类型存储了一些描述信息(name,description, likes, visitors)到hash的w3ckey中。 使用hgetall 获取所有的内容。 每个hash可以存储232-1键值对(40多亿)。
常用命令操作如下:
list(列表)
Redis列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)。 实例 redis 127.0.0.1:6379> lpush redis.net.cn redis (integer) 1 redis 127.0.0.1:6379> lpush redis.net.cn mongodb (integer) 2 redis 127.0.0.1:6379> lpush redis.net.cn rabitmq (integer) 3 redis 127.0.0.1:6379> lrange redis.net.cn 0 10 1) "rabitmq" 2) "mongodb" 3) "redis" redis 127.0.0.1:6379> 列表最多可存储 232-1元素 (4294967295, 每个列表可存储40多亿)。
常用操作命令如下:
注意:关于list的操作,可以分为从左边操作,也可以从右边进行操作 l--->left(头部),r---->right(尾部)
set(集合)
Redis的Set是string类型的无序集合。
集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。 sadd命令 添加一个string元素到,key对应的set集合中,成功返回1,如果元素已经存在集合中返回0,key对应的set不存在返回错误。 sadd key member 实例 redis 127.0.0.1:6379> sadd redis.net.cn redis (integer) 1 redis 127.0.0.1:6379> sadd redis.net.cn mongodb (integer) 1 redis 127.0.0.1:6379> sadd redis.net.cn rabitmq (integer) 1 redis 127.0.0.1:6379> sadd redis.net.cn rabitmq (integer) 0 redis 127.0.0.1:6379> smembers redis.net.cn 1) "rabitmq" 2) "mongodb" 3) "redis" 注意:以上实例中 rabitmq 添加了两次,但根据集合内元素的唯一性,第二次插入的元素将被忽略。 集合中最大的成员数为 232 - 1 (4294967295, 每个集合可存储40多亿个成员)。
常用操作命令如下:
zset(有序集合)
Redis zset和set一样也是string类型元素的集合,且不允许重复的成员。不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。 zset的成员是唯一的,但分数(score)却可以重复。 zadd命令 添加元素到集合,元素在集合中存在则更新对应score zadd key score member 实例 redis 127.0.0.1:6379> zadd redis.net.cn 0 redis (integer) 1 redis 127.0.0.1:6379> zadd redis.net.cn 0 mongodb (integer) 1 redis 127.0.0.1:6379> zadd redis.net.cn 0 rabitmq (integer) 1 redis 127.0.0.1:6379> zadd redis.net.cn 0 rabitmq (integer) 0 redis 127.0.0.1:6379> ZRANGEBYSCORE redis.net.cn 0 1000 1) "redis" 2) "mongodb" 3) "rabitmq"
常用操作命令如下:
Redis常见命令
keys * 列举出所有的key type key 获取对应key的数据类型 select [0-15] 切换到某一个数据库中 rename oldKey newKey 将oldKey重命名为newKey 终端中属于密码的两种方式: 第一种: 连接的时候:redis-3.2.0]# src/redis-cli -h uplooking03 -a uplooking 第二中: 登陆之后再输入密码: auth uplooking(密码) 停止redis服务的命令: src/redis-cli -h uplooking01 -p 6379 shutdown
1、键值相关命令 keys * 取出当前所有的key exists name 查看redis是否有name这个key del name 删除key name expire confirm 100 设置confirm这个key100秒过期 ttl confirm 获取confirm 这个key的有效时长 select 0 选择到0数据库 redis默认的数据库是0~15一共16个数据库 move confirm 1 将当前数据库中的key移动到其他的数据库中, persist confirm 移除confirm这个key的过期时间 randomkey 随机返回数据库里面的一个key rename key2 key3 重命名key2 为key3 type key2 返回key的数据类型 2、服务器相关命令 ping PONG返回响应是否连接成功 echo 在命令行打印一些内容 select 0~15 编号的数据库 quit /exit 退出客户端 dbsize 返回当前数据库中所有key的数量 info 返回redis的相关信息 config get dir/* 实时传储收到的请求 flushdb 删除当前选择数据库中的所有key flushall 删除所有数据库中的数据库