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)
本文详细介绍了 Redis 的常用数据操作,包括切换数据库、查看键、数据类型检查、键存在性验证等,以及 String 类型的操作如设置、获取、过期时间设置、长度获取、分片操作等。此外,还展示了如何通过 Python 库 `redis` 进行 Redis 的字符串、列表、哈希和集合的操作,并提供了相关示例代码。内容覆盖了 Redis 的基本用法和 Python 中的实现,适合初学者和进阶者学习。
1662

被折叠的 条评论
为什么被折叠?



