Rumah  >  Artikel  >  pangkalan data  >  Bagaimana untuk melaksanakan sistem pengesyoran masa nyata menggunakan Redis dan Python

Bagaimana untuk melaksanakan sistem pengesyoran masa nyata menggunakan Redis dan Python

WBOY
WBOYasal
2023-07-30 18:05:24691semak imbas

Cara menggunakan Redis dan Python untuk melaksanakan sistem pengesyoran masa nyata

Sistem pengesyoran telah menjadi bahagian penting dalam platform Internet moden Ia boleh menyediakan kandungan pengesyoran yang diperibadikan berdasarkan pilihan dan tingkah laku pengguna. Sistem pengesyoran masa nyata memberi lebih perhatian kepada masa nyata dan kedekatan keputusan pengesyoran, dan boleh mengemas kini hasil pengesyoran secara dinamik semasa pengguna beroperasi. Artikel ini akan memperkenalkan cara menggunakan Redis dan Python untuk melaksanakan sistem pengesyoran masa nyata yang mudah, dengan contoh kod.

1. Persediaan
Pertama, pastikan pelayan Redis telah dipasang dan dimulakan. Anda boleh menggunakan arahan berikut untuk menyemak sama ada Redis berjalan seperti biasa:

$ redis-cli ping

Jika pelayan berjalan seperti biasa, "pong" akan dikembalikan.

Seterusnya, kita perlu memasang pakej Python Redis - redis-py. Anda boleh menggunakan arahan berikut untuk memasang:

$ pip install redis

2. Penyediaan data
Untuk memudahkan contoh, kami menggunakan jadual cincang Redis dengan ID pengguna sebagai kunci dan senarai kandungan yang disyorkan sebagai nilai untuk menyimpan data yang disyorkan. Katakan kami mempunyai pengguna berikut dan kandungan yang disyorkan:

用户1: 推荐内容1, 推荐内容2, 推荐内容3
用户2: 推荐内容2, 推荐内容3, 推荐内容4
用户3: 推荐内容3, 推荐内容4, 推荐内容5

Untuk menyimpan data ini dalam Redis, anda boleh menggunakan kod Python berikut:

import redis

# 连接到Redis服务器
r = redis.Redis(host='localhost', port=6379)

# 设置用户推荐内容
r.hset('user:1', 'recommendations', '推荐内容1, 推荐内容2, 推荐内容3')
r.hset('user:2', 'recommendations', '推荐内容2, 推荐内容3, 推荐内容4')
r.hset('user:3', 'recommendations', '推荐内容3, 推荐内容4, 推荐内容5')

3. Pelaksanaan sistem pengesyoran masa nyata
Idea teras masa nyata sistem pengesyoran adalah untuk melaksanakan operasi yang berkaitan apabila pengguna , mengemas kini keputusan pengesyoran secara dinamik. Dalam contoh ini, kami akan mensimulasikan pengguna mengklik pada kandungan yang disyorkan, mengemas kini senarai pengesyoran dan memaparkannya kepada pengguna. Berikut ialah contoh kod pelaksanaan:

import redis

# 连接到Redis服务器
r = redis.Redis(host='localhost', port=6379)

# 模拟用户点击推荐内容
def user_click(user_id):
    # 根据用户ID获取推荐内容列表
    recommendations = r.hget('user:'+str(user_id), 'recommendations').split(", ")
    
    # 随机选择一项推荐内容进行点击
    clicked_content = random.choice(recommendations)
    
    # 更新推荐内容列表
    recommendations.remove(clicked_content)
    
    # 获取新的推荐内容
    new_recommendation = random.choice(['推荐内容6', '推荐内容7', '推荐内容8'])
    
    # 添加新的推荐内容到列表中
    recommendations.append(new_recommendation)
    
    # 更新Redis中的推荐内容
    r.hset('user:'+str(user_id), 'recommendations', ', '.join(recommendations))
    
    return clicked_content, new_recommendation

# 模拟用户点击操作
user_id = 1
clicked_content, new_recommendation = user_click(user_id)
print("用户{} 点击了推荐内容{},新的推荐内容为{}".format(user_id, clicked_content, new_recommendation))

Dalam kod di atas, kami mensimulasikan operasi pengguna mengklik pada kandungan yang disyorkan. Pertama, kami mendapat senarai kandungan disyorkan semasa berdasarkan ID pengguna. Kemudian, klik pada salah satu pengesyoran secara rawak dan alih keluarnya daripada senarai. Seterusnya, kami memilih pengesyoran baharu secara rawak dan menambahkannya pada senarai. Akhir sekali, kami menyimpan senarai kandungan yang disyorkan yang dikemas kini ke dalam Redis.

Anda boleh membungkus bahagian kod ini dalam fungsi mengikut keperluan anda dan memanggilnya apabila pengguna melakukan operasi. Dengan cara ini, fungsi sistem pengesyoran masa nyata dapat direalisasikan.

Ringkasan
Artikel ini memperkenalkan cara menggunakan Redis dan Python untuk melaksanakan sistem pengesyoran masa nyata yang ringkas. Dengan menyimpan data pengesyoran dalam Redis dan menggabungkannya dengan kod Python untuk mensimulasikan operasi pengguna, kandungan yang disyorkan boleh dikemas kini secara dinamik dan kesan pengesyoran masa nyata boleh dicapai. Ini hanyalah contoh mudah Sistem pengesyoran sebenar memerlukan algoritma dan logik pemprosesan yang lebih kompleks, tetapi rangka kerja dan idea asas adalah serupa. Dengan mengkaji kandungan artikel ini, pembaca boleh meneroka dan membina sistem pengesyoran masa nyata yang lebih cekap dan pintar.

Atas ialah kandungan terperinci Bagaimana untuk melaksanakan sistem pengesyoran masa nyata menggunakan Redis dan Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn