Redis 数据操作

redis-cli -h localhost -p 6379

auth 数据库密码

redis默认有16个 数据库(0-15)  

命令提示符实现:

数据操作
一  Redis通用命令:
1. 切换数据库  / 数据库的索引
select 0~15

2.查看所有的key
keys *

3.查看key的数据类型
type key的名字

4.key是否存在
exists key的名字

5.从命名key
rename key的旧名字 key的新名字

6.删除key
del key的名字

7.清空数据库
flushdb / flushall

二   String类型:
1.设置key-value 
set  一个值
>>set game cf
 mset 多个值  
>>mset position fashi hero daji attack 200
append 追加

key 不能过长或过短  值 为字符串(英文字母或数字)或者数值

2.查看所有的key
>> keys *
1) "attack"
2) "hero"
3) "position"
4) "game"

3.获取key的值 / get key的名字
>> get hero
>>"daji"

4.设置key时,设置过期时间
>>set attack 200 ex 2

5.获取字符串值的长度
>>strlen hero

6.获取字符串的分片
>> getrange position 0 2
>>"fas"

7.设置字符串的片段值/修改值
>> setrange hero 0 xiaoqiao
>>(integer) 8

8.数值加1、减1
localhost:6379> incr attack
(integer) 501  #默认+1
localhost:6379> incrby attack 500
(integer) 1001
localhost:6379> decr attack
(integer) 999  #默认-1
localhost:6379> decrby attack 500
(integer) 501


Python实现

import redis

r = redis.Redis(host='127.0.0.1',port=6379,db=0,password='密码')


#字符串操作
r.set('position','zhanshi')
#获取 从redis 中获取的是bytes类型,要转化为字符串
name = r.get('position')
new_name = name.decode()
print(name)
print(type(name))
print(new_name)
print(type(new_name))

#
# #列表的操作
# # lpush 从左边插入
# name_list = ['houyi','luban']
# #值插入的类型是列表,但要使用解包的方式插入, *
# # lpush 是从左边插入
# rds.lpush('sheshou',*name_list)
#
#
# # rpush 是从右边插入
# rds.rpush('sheshou',*name_list)
#
# #修改某个下标的值
# rds.lset('sheshou',1,'huangzhong')
#
# #删除
# name = rds.lpop('sheshou') #从左边删除
# name = rds.rpop('sheshou') #从右边删除
#
# # 删除指定值的个数
# name = rds.lrem('sheshou',3,'houyi')
# print(name)
# # 截取数据,会把范围外的数据从列表中删除
# name = rds.ltrim('sheshou',0,1)
# print(name)
#
# #获取
# names = rds.lrange('sheshou',0,-1)
# print(names,type(names))
#

#hash 操作
#hset(name,key,value)设置一个
# rds.hset('king_hony','role','cike')
# 设置多个
# rds.hset('king_hony',{'cike':'libai','fashi':'xiaoqiao','sheshou':'makeboluo'})
# 查询一个
# v = rds.hget('king_hony','role')
# 查询多个
# v = rds.hgetall('king_hony')
#删除hash
# keys = ['cike']
#删除没有返回值
# rds.hdel('king_hony',*keys)
# v = rds.hgetall('king_hony')
# print(v)
#集合的操作
#添加集合
names = ['zhangsan','lisi','wangwu']
#添加多个
rds.sadd('jiyun',*names)
#添加一个 一定要解包
rds.sadd('jiyun','maliu')

#删除
rds.srem('jiyun','zhangsan')
#获取数量
num = rds.scard('jiyun')
print(num)
#判断成员是否存在
rest = rds.sismember('jiyun','zhangsan')
print(rest)

#查询
v = rds.smembers('jiyun')
print(v)


#有序集合的操作
#添加
rds.zadd('wangzhe',{'atk':200,'flod':500})
#更新
rds.zincrby('wangzhe',-50,'atk')
#查询,返回的是列表,元素是key,withscores=True,会显示分数
v = rds.zrange('wangzhe',0,-1,withscores=True)
#查询key的个数,用来统计长度
v = rds.zcard('wangzhe')
#统计范围内的数据,返回的是成员个数
v=rds.zcount('wangzhe','200','500')
#返回指定成员的排名
v=rds.zrank('wangzhe','atk')
#降序排列
v=rds.zrevrank('wangzhe','atk')
v=rds.zrevrange('wangzhe',0,-1,withscores=True)
print(v)

#删除
# zrem 删除指定的
# rds.zrem('wangzhe','cike')
# 删除范围外的数据
# rds.zremrangebyrank('wangzhe',1,2)
# v = rds.zrange('wangzhe',0,-1,withscores=True)
# print(v)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值