注:本篇博客的所有测试环境均为Ubuntu16.04之下,本篇博客总结自Redis教程。
redis-server
redis-cli
启动成功之后会出现:
redis 127.0.0.1:6379>
在终端上输入ping命令,如果出现pong则说明安装成功。
使用root权限修改/etc/redis/redis.conf文件:
想使用哪个密码进行登录就直接修改“password”这个字符串就行,如图我现在的密码是password。
设置允许远程登录:
将bind 127.0.0.1那一行进行注释。
修改完之后将redis服务进行重启:
sudo /etc/init.d/redis-server restart
修改完成之后我们的登录方式变为:
redis-cli -h 127.0.0.1 -p 6379(默认端口) -a password
我将从redis数据库能够存储的数据结构的类型进行一个个的汇总(只是博主认为较常用的,详细的大家可以查阅官方文档或百度)
使用 KEYS 命令:KEYS pattern,例如:redis> keys * 列出所有 key。
redis 127.0.0.1:6379> SET name redis OK redis 127.0.0.1:6379> DEL name (integer) 1
DEL 是一个命令,name 是一个键。 如果键被删除成功,命令执行后输出 (integer) 1,否则将输出 (integer) 0。
EXISTS key 检查给定 key 是否存在。KEYS pattern 查找所有符合给定模式( pattern)的 key 。RENAME key newkey 修改 key 的名称TYPE key 返回 key 所储存的值的类型。redis 127.0.0.1:6379> SET name redis OK redis 127.0.0.1:6379> GET name “redis”
我们使用了 SET 和 GET 命令,键为name。
MGET key1 [key2…] 获取所有(一个或多个)给定 key 的值。STRLEN key 返回 key 所储存的字符串值的长度。MSET key value [key value …] 同时设置一个或多个 key-value 对。INCR key 将 key 中储存的数字值增一。INCRBY key increment 将 key 所储存的值加上给定的增量值(increment) 。DECR key 将 key 中储存的数字值减一。DECRBY key decrement key 所储存的值减去给定的减量值(decrement) 。APPEND key value 如果 key 已经存在并且是一个字符串, APPEND 命令将 value 追加到 key 原来的值的末尾。Redis hash 是一个string类型的field和value的映射表。Redis 中每个 hash 可以存储40多亿键值对。
127.0.0.1:6379> HMSET redis name “redis tutorial” description “redis basic commands for caching” likes 20 visitors 23000 OK 127.0.0.1:6379> HGETALL redis
“name”“redis tutorial”“description”“redis basic commands for caching”“likes”“20”“visitors”“23000”我们设置了 redis 的一些描述信息(name, description, likes, visitors) 到哈希表的 redis 中。
HDEL 表名 key[key2] 删除一个或多个哈希表字段。HEXISTS 表名 key 查看哈希表中指定的字段是否存在。HGETALL 表名 获取指定哈希表所有字段和值。HINCRBY 表名 key increment 为哈希表的指定字段的整数值加上增量 increment 。HKEYS 表名 获取哈希表中的所有字段。HMGET 表名 key [key2] 获取所有给定字段的值。HMSET 表名 key1 value1 [key2 value2 ] 同时将多个 key-value (键-值)对设置到哈希表中。HSET 表名 key value 将哈希表中的字段 key 的值设为 value 。HVALS 表名 获取哈希表中所有值。Redis列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部或者尾部,一个列表最多可以包含40亿多个元素。
redis 127.0.0.1:6379> LPUSH redis redis (integer) 1 redis 127.0.0.1:6379> LPUSH redis mongodb (integer) 2 redis 127.0.0.1:6379> LPUSH redis mysql (integer) 3 redis 127.0.0.1:6379> LRANGE redis 0 10
“mysql”“mongodb”“redis”在以上实例中我们使用了 LPUSH 将三个值插入了名为 redis 的列表当中。
BLPOP key1 [key2 ] timeout 移出并获取列表的第一个元素, 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止。BRPOP key1 [key2 ] timeout 移出并获取列表的最后一个元素, 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止。LINDEX key index 通过索引获取列表中的元素。LLEN key 获取列表长度。LPOP key 移出并获取列表的第一个元素。LPUSH key value1 [value2] 将一个或多个值插入到列表头部。LRANGE key start stop 获取列表指定范围内的元素(如上面的例子)。LSET key index value 通过索引设置列表元素的值。LTRIM key start stop 对一个列表进行修剪(trim),就是说,让列表只保留指定区间内的元素,不在指定区间之内的元素都将被删除。RPOP key 移除并获取列表最后一个元素。RPUSH key value1 [value2] 在列表尾部中添加一个或多个值。集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。Set是String类型的无序集合。集合成员是唯一的。
redis 127.0.0.1:6379> SADD redis redis (integer) 1 redis 127.0.0.1:6379> SADD redis mongodb (integer) 1 redis 127.0.0.1:6379> SADD redis mysql (integer) 1 redis 127.0.0.1:6379> SADD redis mysql (integer) 0 redis 127.0.0.1:6379> SMEMBERS redis
“mysql”“mongodb”“redis”我们通过 SADD 命令向名为 redis 的集合插入的三个元素。
SADD key member1 [member2] 向集合添加一个或多个成员SCARD key 获取集合的成员数SISMEMBER key member 判断 member 元素是否是集合 key 的成员SMEMBERS key 返回集合中的所有成员SMOVE source destination member 将 member 元素从 source 集合移动到 destination 集合SREM key member1 [member2] 移除集合中一个或多个成员SUNIONSTORE destination key1 [key2] 所有给定集合的并集存储在 destination 集合中Redis 有序集合和集合一样也是string类型元素的集合,且不允许重复的成员。 不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。 有序集合的成员是唯一的,但分数(score)却可以重复。 集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。
redis 127.0.0.1:6379> ZADD redis 1 redis (integer) 1 redis 127.0.0.1:6379> ZADD redis 2 mongodb (integer) 1 redis 127.0.0.1:6379> ZADD redis 3 mysql (integer) 1 redis 127.0.0.1:6379> ZADD redis 3 mysql (integer) 0 redis 127.0.0.1:6379> ZADD redis 4 mysql (integer) 0 redis 127.0.0.1:6379> ZRANGE redis 0 10 WITHSCORES
“redis”“1”“mongodb”“2”“mysql”“4”我们通过命令 ZADD 向 redis 的有序集合中添加了三个值并关联上分数。
ZADD key score1 member1 [score2 member2] 向有序集合添加一个或多个成员,或者更新已存在成员的分数。ZCARD key 获取有序集合的成员数。ZCOUNT key min max 计算在有序集合中指定区间分数的成员数。ZINCRBY key increment member 有序集合中对指定成员的分数加上增量 increment。ZRANK key member 返回有序集合中指定成员的索引。ZREM key member [member …] 移除有序集合中的一个或多个成员返回有序集合中指定成员的索引。ZUNIONSTORE destination numkeys key [key …] 计算给定的一个或多个有序集的并集,并存储在新的 key 中。