que tienen una red socialSession VS File VS Memcache para un caché en PHP?
La tabla de usuarios es de alrededor de 60.000 filas
La mesa de amigos es de alrededor de 1 millón de filas (utilizados para determinar quién es su
amigo)
Quiero hacer un feed de amigo, pared, como quiera llamarlo, mostrará cosas como la publicación de estado de usuario (publicaciones de tipo de twitter), se mostrará algunos artículos diferentes, pero para empezar solo será un estado de amigo y tal vez una publicación de blog.
Básicamente, solo verá contenido publicado con un ID de usuario que se encuentre en su lista de amigos.
He estado tratando de llegar a la mejor manera y no he llegado muy lejos, pero esta es mi última idea.
Actualmente la construcción de esta alimentación, tengo que
Obtener la lista de amigos de ID en la mesa gran amigo
Obtener los datos del flujo de la amiga ids del resultado anterior
unirse a la tabla de usuario para obtener los editores cuadro URL y nombre de usuario
luego unirse a la mesa de comentarios para obtener comentarios publicados en los artículos de un feed
Eso es una gran tarea de construir ese alimentación
tengo 3 ideas hasta ahora, aquí es donde su ayuda puede venir en
Opción Memcache:.
- Uso Memcache y almacenar en caché de un usuario friendlist como una matriz cuando el usuario se registra en el sitio, también cuando el usuario aprueba una nueva solicitud de amistad para un amigo que se añade a no lista, reconstruiría hay caché.
- Además de solo conseguir amigos, podría guardar allí la URL de la foto de los amigos y el nombre de usuario, esto aceleraría las cosas de nuevo al eliminar esta consulta al crear el feed de amigos.
opción de caché de archivos:
hacer lo mismo que la opción Memcache hace pero guardar estos datos como una matriz a un archivo de caché en lugar de la memoria, entonces incluir este archivo caché en la página.
no estoy seguro de que es el mejor método para un rendimiento entiendo tiendas de todo memcache en la memoria para que los amigos que tienen como 20.000 amigos que podrían utilizar una gran cantidad de memoria y una memoria caché de archivos serían solamente put en la memoria cuando los usuarios lo necesitan si estoy en lo correcto. También si hice el método de archivo, cuando un usuario registros fuera del sitio, me gustaría eliminar hay archivo de caché para la carpeta de caché no sería demasiado grande de archivos
Sesión opción de caché:
- Igual que el caché de archivos anterior, me di cuenta de que la sesión de datos se guarda en un archivo por lo que no habría que hacer que sea capaz de ser un caché?
Por favor, dame tus opiniones o cualquier consejo o información que tiene en esto, ya que no tengo mucho conocimiento de almacenamiento en caché, he leído mucho, pero a veces las ideas de otras personas ayudan mucho
"datos de sesión se guardan en un archivo". Su afirmación anterior es incorrecta. La sesión se puede configurar para almacenar en la base de datos. El manejador de sesión predeterminado es archivo. – sudip