Redis---redis命令详解
1.启动关闭redis服务命令:
启动:redis-server /etc/redis.conf
关闭:方式一: 先使用ps -ef|grep redis 或者是 ps aux|grep redis来查看redis的端口,然后输入kill redis端口号来关闭redis后台.
方式二: redis目录下 ./redis-cli shutdown
2.连接redis服务命令:
1.连接本地redis服务命令:redis-cli
2.远程连接redis服务命令:redis-clo -h host -p port -a password
输入shutdown 便成未连接状态,输入exit退出
3.redis数据类型
redis 支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。
string 是 redis 最基本的类型,string 类型是二进制安全的。意思是 redis 的 string 可以包含任何数据。比如jpg图片或者序列化的对象。
hash 是一个键值(key=>value)对集合。 是一个 string 类型的 field 和 value 的映射表,hash 特别适合用于存储对象。
list(列表)简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)。
set 是 string 类型的无序集合。是通过哈希表实现的,所以添加,删除,查找的复杂度都是 O(1)。
zset(有序集合)是 string 类型的有序集合。zset的成员是唯一的,但分数(score)却可以重复。
4.keys命令:
keys * :查询所有的key
del key :key存在时删除key
exists key :检查key是否存在
expire key seconds(秒) :为key设置过期时间,以秒计算
persist key :移除key的过期时间,key将持久保持
ttl key :以秒为单位返回key的剩余过期时间
randomkey :从当前数据库中随机返回一个key
rename key newkey :修改key的名称
move key db :将当前数据库的key移动到给定的数据库db当中
type key :返回key所存储值的类型
5.string(字符串命令):
set key value :设置指定key的value
get key :获取指定key的value
getset key value :为key设置新value,并返回key的旧value
mget key1 key2 key3.... :获取一个或多个key的value
setnx key value :key不存在时设置key的value
setex key seconds value :将值 value 关联到 key ,并将 key 的过期时间设为 seconds (以秒为单位)。
strlen key :返回key所存储的字符串的长度
mset key1 value1 key2 value2 .... :同时设置一个或多个key-value
incr key :将key中存储的数字值增加1
decr key :将key中存储的数字值减1
incrby key increment :将key所存储的值加上给定的增量值increment
append key value :如果key存储的值是一个字符串,append命令将指定的value追加到key原来bvalue的末尾。
6.hash命令:
hset key field value [field value] :存放指定key的field和value值
hdel key filed1 field2 :删除一个或多个哈希表字段
hexists key field :查看哈希表key中,指定的字段是否存在
hget key field :获取存储在哈希表中指定字段的值
hincrby key field increment :为哈希表key中指定的字段的整数值加上增量increment
hlen key :获取哈希表中字段的数量
hkeys key :获取所有哈希表中的字段
hvals key :获取哈希表中所有的值
hgetall key :获取在哈希表中指定key的所有字段和值
hmget key field1 field2 :获取所有给定字段的值
hmset key field1 value1 field2 value3 ....... :同时将多个field-value(域-值)对设置到哈希表key中
7.list(列表):
llen key :获取哈希表中所有的值获取列表长度
lpop key :移出并获取列表的第一个元素
lpush key value1 value2... :将一个或多个值插入到列表的头部
lpushx key value :将一个值插入到已存在的列表的头部
lrange key 0 -1 获取指定范围内的元素
lrem key count value :移除列表中count个与参数value相等的元素。 count > 0 :从表头到表尾 count=0 :移除所有
lset key index value :通过索引(下标)设置列表元素的值
ltrim key 0 6 :对一个列表进行修剪 让列表只保留指定区间内的元素,不在指定区间的元素都将被删除
rpop key :移除列表的最后一个一个元素,返回值为移除的元素
rpoplpush :列表 列表 移除列表的最后一个元素,并将该元素添加到另一个列表并返回
rpush key value1 value2 :在列表中添加一个或多个值
rpushx key value :为已存在的列表添加值
8.set集合:
set 是 string 类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。
sadd key member1 menber2...:向集合添加一个或多个成员
scard key :获取集合的成员数
smembers key :返回集合中的所有成员
sdlff key1 key2 :返回第一个集合和第二个集合(其他集合)之间的差异
sinter key1 key2 返回给定所有集合的交集
sunion key1 key2 :返回所有给定集合的并集
sismember key member :判断member元素是否是集合key的成员
smove source destination member :将member元素从source集合移动到 destination集合
spop key :移除并返回集合中的一个随机元素
srandmember key :数字 返回集合中一个或多个随机数
srem key member1 ..... :移除集合中一个或多个成员
9.zset(sorted set:有序集合)
zset集合和无序集合一样都是string类型元素的集合,且不允许重复的成员。
不同的是每个元素都会关联一个 double 类型的分数。redis 正是通过分数来为集合中的成员进行从小到大的排序。
有序集合的成员是唯一的,但分数(score)却可以重复。
zadd key score1 member1 【score2 member2】 :向有序集合添加一个或多个成员,或者更新已经存在的分数
zcard key :获取有序集合的成员数
zcount key min max :计算在有序集合中指定区间分数的成员数
zrange key start stop withscores :通过索引区间返回有序集合指定区间内的成员
zrevrangebyscore key max min withscores :返回有序集合中指定分数区间内的成员,分数从高到低排序
zscore key member :返回有序集合中,成员的分数值