redis学习1(基本命令和redis数据类型)

reids安装详情

linux环境下

官网下redis  进入redis目录下 make命令编译

linux启动

cd src/   目录 执行 ./redis-server

--reids启动命令
 redis-server --直接启动,不能打开其他窗口
 reids-server /redis-conf  后台单独进程启动(需要修改 redis-conf配置文件  daemonize no 改为 daemonize yes)
 
--redis客户端登录命令

  redis-cli -p +端口号 (验证启动成功方式 ping 返回 pong ) --raw(解决中文显示问题)


--退出redis客户端命令  

exit 


--查看所有key值
 keys *
 
--删除
del+key
--删除所有的keys
flushdb

--判断某个key值是否存在

exists+key

--redis切换db
select 1 (redis有16个库 从下标 0到15)

--redis将key移到其他库
move+key+库下标

--redis为key设置过期时间
expire+key

--redis查看key过期时间 -1表示永不过期 -2 表示已经过期
ttl+key

--redis查看key是什么类型
type+key

---------------------------------------String----------------------------

set+key 设置值
get+key 获取值
del+key 删除值 
append+key  拼接
strlen+key  获取长度

incr+key 每次加1 
decr+key 每次减1
inceby+key+数字  加
decrby+key+数字  减

--获取指定区间范围的值
getrange+key (类似于 between....and....) 例 getrange k1 0 4 (获取k1值从下标0到4的值)
--指定范围内设置值
setrange+key 例 setrange k1 0 aaa  (将k1的值从第0位置设置为aaa)

-----
setex  例如 setex k1 10 vv  (k1存在时间10秒 值=vv)

setnx setnx k1 v11(如果k1不存在就设置值是v11)

mset  mset k1 v1 k2 v2 k3 v3 (将k1 k2 k3 de 的值设置为v1 v2 v3)

mget mget k1 k2 k3 (同时获取 k1 k2 k3的值)


msetnx msetnx k3 v3 k4 v3 (如果某个key存在就不成功,反之成功)


-----------------------------------------List列表-----------------------------------
特性 :1可以放数字 字母 汉子等,2可以左右查询插入等操作,3可以重复,可以挂多个值

--list放入数据(从左到右放数据)先进后出
lpush  例 lpush list01 1 2 3 

---list放入数据(从右到左ss放数据)先进先出
rpush  例 rpush list01 1 2 3   

--范围查看数据
lrange 例 lrange list01 0 -1 0到-1范围的数(0 到-1 是所有的数)

--取左边第一个数
lpop 例 lpop list01 


---取右边第一个数
rpop 例 rpop list01

--按照索引下标获得元素 从上到下(下标从0开始算起)
lindex  例 lindex list01 0

--list长度
llen

--list 删除n个value 按照list下标顺序删除
lrem 例 lrem list01  2 3 (删除2个value是3)

--list 按下标范围截取,然后重新复制给list
ltrim 例 ltrim list01 0 4

--list 将list01 的最右边的数放到list02最左边
lpoprpush 例 lpoprpush list01 list02 (将list01的最右边的数取出放到list02的最左边)

--list 根据list下标update值
lset 例 lset list01 5 4(将list01下标5的值改为4)

--在list的值之前或之后插入某个值
linsert key before/after 例 linsert list01 befor/after x java


--------------------------------------------------set集合-----------------------------------------------------
特征 1 数据不重复,无序,string类型

--set添加值
sadd 例 sadd set01 1 2 3 3 1 2

--set 查看所有数据
smembers 例 smembers set01

--判断set例是否包含这个值 1表示存在 0表示不存在
sismember 例 sismember set01 1

--获取set元素的个数
scard 例 scard set01

--删除set中的元素
srem 例 srem set01 2

--set随机出现几个值 
srandmember 例 srandmember set01 3 (set01 随机出现3个值)

--set 随机出栈
spop 例 spop set01 

-- smove key1 key2 value (set将key1的value赋值给key2)
smove 例 smove set01 set02 4 (将set01的4赋值给set02)

--交集
sinter 例 

--差集
sdiff 例

--并集
sunion 例

-------------------------------------------------hash--------------------------------------
特征:kv模式不变 v是一个键值对
结构: {customer:{id:1,name:电脑,price:10000,number:10}}


--hash 添加值
hset 例 hset user admin 123,hset customer id 1 name 电脑 price 10000 number 10

--hash 查看指定的值
hget 例 hget user admin

--查看hash 一窜字符
hmset 例 hset customer id 1 name 电脑 price 10000 number 10

--查看全部hash值
hgetall 例 hgetall customer

--删除指定值
hdel 例 hdel customer number (删除 number的值)

--hash长度
hlen 例 hlen customer

--hash判断某个key是否存在 1表示存在 0表示不存在
hexists 例 hexists customer id (判断customer的id的值是否存在)

--hash查看key的所有k值
hkeys 例 hkeys customer

--查看某个key的所有value值
hvals 例 hvals customer

-- 增加整数
hincrby 例 hincrby customer number 2

-- 增加小数
hincrbyfloat 例 hincrbyfloat customer number 3.2

--hash 如果某个值的key存在就不添加值,返回0,如果不存在就添加值,返回1
hsetnx 例 hsetnx customer number 23(如果number不存在就添加值,如果存在就不添加值)


------------------------------------------------zset-------------------------------------------
特征:有序集合和集合一样也是string类型元素的集合,且不允许重复的成员,每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序
      有序集合的成员是唯一的,但分数(score)却可以重复


--zset添加值
zadd 例 zadd zset01 1 v1 2 v2 3 v3


--zset取范围值
zrange 例 zrange zset01 0 -1(0 到-1 是取全部值)
zrange key 0 -1 withscores (k+v都查询)

-- 从 value1到value2结束
zrangebyscore 例 zrangebyscore zset 1 3
--范围内分数值查询
zrangebyscore+key+withscores (k+v都查询)例 ZRANGEBYSCORE zset01 1 2 withscores

zrangebyscore+key+( 不包含 ZRANGEBYSCORE zset01 1 (2 withscores

zrangebyscore+key+limit 返回限制 (类似分页,查询后还可以限制) 例  ZRANGEBYSCORE zset01 1 3 limit 1 2 

--删除元素
zrem 例 zrem zset01 v1

--一共有多少个key值
zcard+key 例 zcard zset01

--范围内多少个
zcount+key 例 zcount zset01 1 2 (1到2之间有多少个)

--key对应的value值
zrank+key 例 zrank zset01 v1 (v1对应的值是多少)

--逆序获得下标值
zrevrank 例 zrevrank zset01 v1

--范围内的值倒序
zrevrange 例 zrevrange zsset01 0 -1
--范围内分数逆序查询
zrevrangebyscore 例 zrevrangebyscore zset01 3 1(查询3到1的key值)


  
  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值