redis常用命令

192 篇文章 1 订阅
17 篇文章 0 订阅

redis具体详细命令可以去官方去查
官方网站: https://redis.io/
中文网站: http://redis.cn/
查看命令: http://redis.cn/commands.html

我这里只是自己记一下常用的,不常用的请到官方去查

# 启动redis
redis-server 目录/redis.conf

# 连接到redis
redis-cli -p 6379

# 以下redis命令不区分大小写

# 连接上之后如果有密码的话输入密码
auth password

# 删除所有数据库里面的所有数据,注意不是当前数据库,而是所有数据库
flushall

# 删除当前数据库里面的所有数据
flushdb

# 查看所有的key值
keys *

String字符串类型

# 存储key值
set key value

# 获取key值
get key

# 将当前数据库的 key 移动到给定的数据库 db 当中
move key db

# 判断是否此key值存在,如果存在是1,否则返回0
exists key

# 设置到期时间,按秒来计时
expire key 10

# 查看key的到期时间,如果为-2则代表已经没有了
ttl key		# 秒
pttl key	# 毫秒

# 查看key值的类型
type key

# 往key值后追加value值
append key value

# 把key值加1,如果指定的key不存在,那么在执行incr操作之前,会先将它的值设定为0
incr key

# 把key值减1,如果key不存在,那么在操作之前,这个key对应的值会被置为0
decr key

# 将key对应的数字增加num,如果key不存在,操作之前,key就会被置为0
incrby key num

# 将key对应的数字减少num,如果key不存在,操作之前,key就会被置为0
decrby key num

# 获取存储在key值上指定位置的字符串
getrange key start end

# 设置key和值,再设置上过期时间(秒)
setex key time value

# 如果key值不存在则设置为value,如存在则不设置(在分布式锁中常用)
setnx key value

# 一次可以设置多个key value值
mset key value [key value]

# 一次获取多个key值
mget key [key]

# 一次设置多个值,规则和setnx相同
msetnx key value [key value]

# 先获取再设置这个值
getset key value

List类型

# 往key里存值,可存储相同的值
lpush key value [value ...]

# 获取key里的值,end为-1时查出所有
lrange key start end

# 和lpush插入的位置是相反的
rpush key value [value ...]

# 从左或从右移出一个值
lpop key
rpop key

# 获取key中的第index位置的值
lindex key index

# 查询key的数据长度
llen key

# 从列表中删除元素,例:lrem list 1 two
lrem key count value

# 从key列表中截取start到stop位置的数据
ltrim key start stop

# 从list1中移除一个值添加到list2这个列表中
rpoplpush list1 list2

# 设置指定下标中的值,如果没有key的值则设置不成功
lset key index value

# 往数组的value位置前面或后面插入new-value值
linsert key before|after value new-value

Set集合(无序不重复集合)

# 往集合里添加值
sadd key value [value ...]

# 查看集合里的数据
smembers key

# 判断集合中的值是否存在,如果存在返回1,如果不存在返回0
sismember key value

# 获取集合的长度
scard key

# 删除集合中的值
srem key value [value ...]

# 从集合中随机获取几个值
srandmember key count

# 随机移除集合里的值
spop key

# 移动集合1里的value值到集合2里
smove key1 key2 value

# 对比key1集合中不在key2集合中的值(差集)
sdiff key1 key2

# 对比key1集合中也在key2集合中的值(交集)
sinter key1 key2

# 并集获取两个集合中的值
sunion key1 key2

Hash(哈希)
值是Map集合,key-<key-value>

# 往key中存储字段跟值
hset key field value

# 获取key中存储的字段的值
hget key field

# 往key中存储多个字段跟值
hmset key field value [field value ...]

# 获取key中多个字段的值
hmget key field [field ...]

# 获取key中所有的值
hgetall key

# 删除key中对应的字段值
hdel key field [field ...]

# 获取长度
hlen key

# 判断是key中的字段值是否存在
hexists key field

# 获取key中所有的字段值
hkeys key

# 获取key中所有的值
hvals key

# 把值加num
hincrby key field num

# 把值减num
hdecrby key field num

# 请看上面的setnx
hsetnx key feild value

zset有序集合

# 排序-inf最小+inf最大,也就是所有的排序
zrangebyscore key -inf +inf

...

geospatial地理位置

# 添加位置信息
geoadd key lng lat name [lng lat name ...]
geoadd china:city 39.90 116.40 beijing
geoadd china:city 31.23 121.47 shanghai
geoadd china:city 29.53 106.50 chongqing
geoadd china:city 22.52 114.05 shengzheng 30.24 120.16 hangzhou 34.26 108.96 xian

# 获取经纬度
geopos china:city beijing chongqing

# 查看beijing和shanghai的距离(km)
# m 表示米(默认)
# km 千米
# mi 英里
# ft 英尺
geodist china:city beijing shanghai km

# 查询这个经纬度半径内的
georadius china:city 110 30 半径 km

# 根据这个城市的位置来查询指定的范围的数据
georadiusbymember china:city beijing 1000 km

bitmaps位存储

# 存储值只能是0和1
setbit day 1 0
setbit day 2 1
setbit day 3 1
setbit day 4 0
setbit day 5 0

# 获取3位置的值
getbit day 3

# 总共的为1的值
bitcount day

事物

开启事物(multi)
命令入队(…)
执行事物(exec)
取消事物(discard)
watch(监视)
unwatch(解锁监视)

# 可以监视key值是否修改(属于乐观锁)
watch key

# 这里增加事物去给key去存值和其它数据
multi
....

# 如果有另外一个线程修改了key值,这里执行exec会执行失败
exec

主从配置

# 查看信息,可以查看是主还是从,和相关信息
info replication

# 在从机上配置哪个是主,主不用配置,redis默认启动就是主,只要配置从机即可
# 也可以在从机的配置文件中配置replicaof masterip masterport这条配置,启动的后也就自动连上master
# 默认情况主是可以写,从是不允许写,只能读
# 主从配置最好在配置文件中配置
slaveof ip port

# 自己当主,如果主断掉这句话可以让自己成为主
slaveof no one
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值